API测试总结
数据格式
1、json
2、表单
3、xml
请求方法
1、GET
获取资源
PostMan
JMeter
2、POST
添加资源
PostMan
JMeter
3、PUT
修改资源
PostMan
JMeter
4、DELETE
删除资源
PostMan
JMeter
动态参数
PostMan实战
1、
2、
PostMan描述
1、以测试登录为列获取token,在登录接口的tests里面定义一个变量来获取响应里面的token
2、将登录接口与首页接口放在一个集合里面
3、在下个接口也就是首页里面的请求头信息中调用这个变量就实现了上下接口得关联。调用的方法是{{变量名}}
JMeter实战
1、
2、
JSON提取器:
正则表达式提取器:
3、
JMeter描述
JSON提取器:
1、以登录请求为例获取token,添加一个JSON提取器
2、在名称那填写这个提取器得名字
3、在Names of created variables 栏填写变量名
4、在JSON Path expressions 栏填写响应回来得变量
5、在Default Values栏填写获取不到变量返回得值
6、在需要用到得地方调用变量 ,调用方法:${变量名}
正则表达式提取器:
1、以登录请求为例获取token,添加一个正则表达提取器
2、在名称那填写这个提取器得名字
3、在引用名称栏填写变量名
4、在正则表达式栏填写响应回来得变量,方法("token":"(.*?)")
5、在模板栏填写 $1$
6、在匹配数字栏填写 0
7、在需要用到得地方调用变量 ,调用方法:${变量名}
补充(
*:所有
?:代表的是一个字符串
\d:代表的是数字
\D:代表的是字母
数据驱动:
PostMan实战
1、
2、
PostMan描述
1、点击接口测试这个集合
2、点击Variables
3、定义一个变量写到VARLABLE下方
4、将需要分离出来的部分填到变量后面两个格里也就是INITIAL VALUE与CURRENT VALUE下方
5、在需要使用到它的地方调用。调用方法:{{变量名}}
JMeter实战
1、
2、
3、
JMeter描述
1、添加HTTP请求默认值:右键线程组,添加,配置元件,HTTP请求默认值
2、将要分离出来得部分填到HTTP请求默认值里面这里以路径为例
3、在服务器名称或ip栏里填写域名
4、在端口号栏里填写端口
5、在内容编码栏里填写utf-8防止乱码
6、将他放在线程组下面第一位
6、在后面得请求就不需要填写域名端口了
生成测试报告
PostMan实战
1、
2、
3、
4、
5、
6、
7、
PostMan描述
1、点击项目集合这里以练习接口测试为例,右键选择Export导出此项目
2、在弹出来的对话框里点击Export(其余选项默认)
3、在弹出来的对话框里选择导出的位置,此例子我放在了桌面(名字不需要改)
4、打开控制台(WIN+r)
5、转到项目的目录下我的在桌面所以是 cd Desktop
6、转进去以后输入 newman run 项目名称 我的是 练习接口测试.postman_collection.json 所以输入 newman run 练习接口测试.postman_collection.json ,输入完成后执行测试报告
7、执行完成后输入 newman run 项目名称 -r html 我的是 newman run 练习接口测试.postman_collection.json -r html 、。
8、这时候在桌面会看到 newman文件夹,文件夹里的html文件就是测试报告 。记得用谷歌打开
JMeter实战
一、
ant是Java语言的构建工具 地址:https://ant.apache.org/bindownload.cgi
打开控制台输入: ant -v 来检查有没有安装成功
1、在jmeter目录下创建tsets文件夹(tests文件夹里面存储测试脚本和测试报告)
2、在tsets里创建 report、script文件夹
html:HTML的测试报告
jtl:jtl的文件
4、将项目放入script下
5、将下图的包剪切到ant目录下的lib里面
7、打开jmeter的bin目录下的jmeter.properties文件
把jmeter.save.saveservice.output_format=csv
修改为jmeter.save.saveservice.output_format=xml
8、、activation.jar,commons-email-1.2.jar,mail.jar,这三个插件放在ant的lib目录下
9、打开控制台转到tests目录下输入ant
10、生成的测试报告会自动 保存到html文件下
JMeter描述
1、搭建ant的环境,验证方式:ant -v
2、在jmerer的extras目录下下找到ant-jmeter-1.1.1.jar,把它copy到ant的apache-ant-1.10.0\lib下
3、编写build.xml文件 A、定义了执行那个测试脚本 B、实现自动发送邮件 C、自动生成测试报告
4、打开jmeter的bin目录下的jmeter.properties文件,做如下修改:
把jmeter.save.saveservice.output_format=csv
?
修改为jmeter.save.saveservice.output_format=xml
5、activation.jar,commons-email-1.2.jar,mail.jar,这三个文件放在ant的lib目录下
6、完善build.xml文件后,在控制台进入到build.xml文件
7、输入ant
JMeter参数化
txt:
把测试的数据分离到txt记事本:
1、在D:\testDev\apache-jmeter-5.4.1(1)\apache-jmeter-5.4.1这个目录下创建data文件夹
2、在data文件价里创建tex文件,输入username,password
3、在jmeter里点击CSV Data Set Config
4、
5、将登录里面的参数信息进行修改
修改前:
修改后
csv
把测试的数据分离到txt记事本:
1、在data文件价里创建csv表格,输入username,password
2、剩下方法的与上面相同
session:
请求描述
1、客户端输入账号密码登陆成功
2、在服务端会生成SESSION,同时存储在服务端本地,通过响应头中的Set-cookie把生成的SESSION返回给客户端
3、客户端接收到SESSION后
4、客户端再次请求服务端(比如访问个人主页),会在请求头的cookie中带上SESSIONID发送个服务端
5、服务端接收到客户端发送过来的SESSIONID,与存储在服务端本地的SESSIONID之间会进行对比,如果一致,允许访问个人主页,如果不一致,就会重定向到登录的页面
JMeter实战
处理SESSION关联:只需要添加HTTP Cookie管理器