如用postman进行web端自动化测试(超详细解析)

前言

概括说一下,web接口自动化测试就是模拟人的操作来进行功能自动化,主要用来跑通业务流程。

主要有两种请求方式:post和get,get请求一般用来查看网页信息;post请求一般用来更改请求参数,查看结果是否正确变化;post请求还能用来验证字段的边界值、是否能为空和验证字段可输入的类型。

web接口测试只涉及http/https请求,需要输入的内容有:请求方法、url地址、header相关信息、body相关内容、断言,下面详细说明用postman做http请求的使用步骤。

一、抓包(使用Charles抓包工具)

二、选择请求方法

GET、POST等等

三、填写url地址

Charles中看到的host+path

四、填写Header

1.Content-Type常用类型:

(1)multpart/form-data                                    表单提交数据

(2)application/x-www-form-urlencoded         form表单提交数据 (请求时需要填写的具体参数在charles的form页签看)

(3)application/json                                         json提交数据

(4)text/xml                                                     xml格式提交数据

2.cookie

所有cookie信息会在登录成功后保存在客户端,一般里面会有个sessionid,动态存储在服务器的数据库中的,当下次再访问同一网站时,客户端cookie中存储的sessionid与数据库中的进行对比,如果两者一样,请求通过。

注意:在postman中会记录下每次请求后的cookie信息,如果不需要记得去删掉

3. User-Agent

伪装成浏览器

4.Referer

从什么地方跳转过来的

5.如果看到陌生的产品特有的header参数,需要询问开发是否要带上,可能不带上会算作非法请求

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:1150305204【暗号:csdn000】

五、填写body

有如下四种,具体选用哪种必须结合上面的Content-Type类型,不一样的话会有415报错

1.form-data(对应上面的multpart/form-data )可以上传文件file

2.x-www-form-urlencoded(对应上面的application/x-www-form-urlencoded)

3.raw(对应上面的application/json或者text/xml)

4.binary(用来上传文件的)

六、断言(Tests页)

没有断言的自动化测试是没有意义的,断言就是校验这个结果是不是我们的预期值,是的话会返回true。postman本身就有很多写好的断言,点击就会生成。

1.协议状态码校验

2.业务状态码校验

3.数据校验

注意:断言里的值不能填动态/静态参数{{}}哦!!

七、获取动态参数——例如token

token是每次登录成功后服务器返回给客户端的随机32位字符串,之后的在线操作都需要带上token,防止非法访问,下线后会销毁,下次登录会生成一个新的。

在postman中保存动态参数的方法:

1.pm.environment.set("token_key", data.token);

2.调用时用{{token_key}}

“tk”:“{{tsken_key}}”,

八、设置静态参数(请求地址、账号密码等)

测试套件中可以添加设置静态参数,调用时用{{url}}

九、创建测试套件(多个有顺序的请求集合)

测试套件在自动化中是很有必要的,可以按顺序自动执行套件里的所有请求

十、response中的协议状态码和产品业务状态码

协议状态码是http定义好的,例如404页面没找到,例如上面的415报错headers和body不一致,例如500报错服务器处理出现错误(想了解更多可以自行百度)

业务状态码是产品开发自己定义的

注意:如果发送请求后发现返回中提示“could not get any response”,记得去chales中stop SSL Proxying!!

最后

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/632308.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式学习-网络编程-Day5

思维导图 select完成tcp并发服务器模型&#xff1a; 服务器端 #include <myhead.h> #define SER_PORT 8888 #define SER_IP "192.168.122.153"int main(int argc, const char *argv[]) {//1.创建套接字int sfd socket(AF_INET,SOCK_STREAM,0/*IPPROTO_TCP*…

前端公共组件库优化

背景 前段时间入职了新公司后&#xff0c;做一些内部前端基建的工作&#xff0c;其中一个工作就是优化现有的frontend-common公共组件库。之前的组件库一直是以源码依赖的形式存在&#xff0c;即各个项目通过git submodule的方式将该仓库引入到各个项目中&#xff0c;作为一个…

机器学习--jupyter使用

机器学习–jupyter notebook的使用 Jupyter项目是一个非盈利的开源项目&#xff0c;源于2014年的ipython项目&#xff0c;因为它逐渐发展为支持跨所有编程语言的交互式数据科学和科学计算 Jupyter Notebook&#xff0c;原名IPython Notbook&#xff0c;是IPython的加强网页版…

学习vue3(一)

参考&#xff1a;Vue3TS 快速上手 1.Vue3简介 2020年9月18日&#xff0c;Vue.js发布3.0版本&#xff0c;代号&#xff1a;One Piece&#xff08;海贼王&#xff09;耗时2年多、2600次提交、30个RFC、600次PR、99位贡献者github上的tags地址&#xff1a;https://github.com/vuej…

安卓app签名生成工具

基本信息 | 微信开放文档微信开发者平台文档https://developers.weixin.qq.com/doc/oplatform/Downloads/Android_Resource.html 使用方法:下载模拟器,随后将打包的apk,拉到模拟器中,然后点击上面,的文档,拉到最底下,下载那个软件到模拟器,,随后将打包的包名,输入就可以生成签名…

西门子博途用SCL语言写的入栈出栈

1.用户登录 #pragma code ("useadmin.dll") #include "PWRT_api.h" #pragma code() PWRTLogin(1) 2.用户退出 #pragma code ("useadmin.dll") #include "PWRT_api.h" #pragma code() PWRTLogout(); 3.画面跳转 SetPictureName("P…

解决百度地图在模拟器上运行报 java.lang.IllegalArgumentException: No config chosen问题

解决百度地图在模拟器上运行报 java.lang.IllegalArgumentException: No config chosen 问题 1. 问题复现 在近期公司使用模拟器(网易MuMu)进行项目演示时&#xff0c;在进入存在百度地图(Android版本 7.4.2版本)之后&#xff0c;页面出现奔溃&#xff0c;后台日志为&#xf…

中国多家半导体设备厂表现出色,营收可观 | 百能云芯

多家中国半导体设备大厂近日相继发布了2023年度业绩预告&#xff0c;表现出色&#xff0c;营收和净利润均呈现较大幅度的增长&#xff0c;这一利好消息背后得益于半导体行业周期的复苏以及国产半导体需求的持续增长。 据百能云芯电子元器件商城了解&#xff0c;北方华创发布的公…

智能的精髓在于有效地使用数学与非数学的方法

数学是智能的重要基础&#xff0c;它提供了一种精确、逻辑和可靠的工具&#xff0c;可以用来模拟和解释现实世界的问题。数学可以帮助智能系统建立数学模型&#xff0c;进行数据分析和预测&#xff0c;优化算法和决策等。例如&#xff0c;机器学习和深度学习算法中常用的数学方…

大文件的断点续传如何实现

断点续传 断点续传是一种数据恢复技术&#xff0c;主要用于在读取或发送数据时&#xff0c;因为网络问题、磁盘问题等原因导致数据传输中断。断点续传技术允许你在已经传输的数据基础上继续传输&#xff0c;从而节省数据传输时间。 断点续传通常用于文件传输过程中&#xff0c;…

Github项目推荐--MusicFreeDesktop

项目地址 https://github.com/maotoumao/MusicFreeDesktop 项目简述 这是一个开源的音乐播放器&#xff0c;主要使用typescript编写&#xff0c;页面很漂亮。支持自定义主题和插件化配置音源&#xff0c;是一大亮点。 项目截图

C++大学教程(第九版)5.19求Π的值

题目 代码 #include <bits/stdc.h> using namespace std;int main() {double pai 0;for (int count 1, i 1; count < 1000; i 2, count){int flag 1;if (count % 2 0){flag -1;}pai flag * (4.0 / (i * 1.0));cout << "当取前" << co…

架构篇07-复杂度来源:低成本、安全、规模

文章目录 低成本安全规模小结关于复杂度来源,前面的专栏已经讲了高性能、高可用和可扩展性,今天我们来聊聊复杂度另外三个来源低成本、安全和规模。 低成本 当我们的架构方案只涉及几台或者十几台服务器时,一般情况下成本并不是我们重点关注的目标,但如果架构方案涉及几百…

RabbitMQ入门精讲

1. 什么是消息队列 消息指的是两个应用间传递的数据。数据的类型有很多种形式&#xff0c;可能只包含文本字符串&#xff0c;也可能包含嵌入对象。 “消息队列(Message Queue)”是在消息的传输过程中保存消息的容器。在消息队列中&#xff0c;通常有生产者和消费者两个角色。…

Steam游戏十大骗术及防骗指南

一、buff\igxe网站api问题 骗术总结&#xff1a;骗子利用api链接&#xff0c;在网站发起报价的同时&#xff0c;csgo账号发起同样的报价&#xff1b; 解决方法&#xff1a;在交易网站卖完东西后&#xff0c;在steam注销api链接&#xff0c;下次使用再更换新的。交易过程中核对…

OpenHarmony 应用开发入门 (一、环境搭建及第一个Hello World)

万事开头难。难在迈出第一步。心无旁骛&#xff0c;万事可破。没有人一开始就能想清楚&#xff0c;只有做起来&#xff0c;目标才会越来越清晰。--马克.扎克伯格 前言 2024年1月16日&#xff0c;华为目前开启已HarmonyOS NEXT开发者预览版Beta招募&#xff0c;报名周期为1月15…

鸿蒙开发-ArkUI框架实战【日历应用 】

对于刚刚接触OpenHarmony应用开发的开发者&#xff0c;最快的入门方式就是开发一个简单的应用&#xff0c;下面记录了一个日历应用的开发过程&#xff0c;通过日历应用的开发&#xff0c;来熟悉基本图形的绘制&#xff0c;ArkUI的组件的使用&#xff0c;UI组件生命周期&#xf…

【时间复杂度】时间复杂度优化法则简讲

一、引言 时间复杂度是衡量算法运行效率的一项重要指标&#xff0c;它描述了随着输入规模的增加&#xff0c;算法的执行时间如何增长。在算法设计与分析中&#xff0c;我们经常面临着优化时间复杂度的任务&#xff0c;以便提高程序的性能。本博客将深入探讨时间复杂度的优化法…

redis数据安全(五)事务

一、概念&#xff1a; 1、介绍&#xff1a;Redis 事务的本质是一组命令的集合。事务支持一次执行多个命令&#xff0c;一个事务中所有命令都会被序列化。在事务执行过程&#xff0c;会按照顺序串行化执行队列中的命令&#xff0c;其他客户端提交的命令请求不会插入到事务执行命…

软件测试面试题整理

软件测试的几个阶段 在进行Beta测试之前和之后&#xff0c;通常会进行以下几种测试&#xff1a; 内部测试&#xff08;Internal Testing&#xff09; 在Beta测试之前&#xff0c;开发团队会进行内部测试&#xff0c;对软件进行全面的测试。这个阶段包括单元测试、集成测试和系…