API测试总结
数据格式
1、JSON
2、表单
3、XML
以查询电话号地址为例 http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?op=getMobileCodeInfo 操作表单和XML,以风暴平台操作JSON http://101.43.158.84/#/
JMeter操作:
JSON
表单
XML
PostMan操作:
动态参数
PostMan实战
以风暴平台登录为例
PostMan描述
1、首先登录风暴平台,通过Network抓包到POST请求地址以及请求参数
2、在PostMan中输入正确的地址及参数
3、在Tests中
a 定义一个变量
var dtcs=JSON.parse(responseBody) b 设置一个动态参数 pm.environment.set("token", dtcs.token); c 验证动态参数‘ tests["验证token的值"] = dtcs.token = pm.environment.get("token"); d 之后输入{{变量名}}来引用JMeter实战
JMeter描述
1、首先登录风暴平台,通过Network抓包到POST请求地址以及请求参数
2、在JMeter登录控制器中输入正确的地址及参数
3、在登录控制器下添加JSON提取器,提取token的值
4、在HTTP信息头管理器中引用变量${变量名}
数据驱动
PostMan
JMeter
参数化
txt(记事本)
txt描述
首先添加CSV Data Set Config配置原件
找到txt后缀的记事本目录
在“文件编码”下选择UTF-8
在登录控制器下使用${变量名}来引用用户名和密码
可在对应的记事本下进行修改参数
添加参数的数量,要修改线程组的里的线程数
csv
CSV描述
首先添加CSV Data Set Config配置原件
找到CSV后缀的Excel目录
在“文件编码”下选择UTF-8
在登录控制器下使用${变量名}来引用用户名和密码
可在对应的csv文件下进行修改参数
添加参数的数量,要修改线程组的里的线程数
session
SESSION流程
-
客户端输入账户密码登录成功
-
在服务端会生成SESSIONID,同时存储在服务端本地,把通过响应头中的Set-cookie把生成的SESSIONID返回给客户端
-
客户端收到SESSIONID后
-
客户端再次请求服务端(比如访问个人主页),会在请求头的cookie中带上SESSIONID发送给服务端
-
服务端接收到客户端发送过来的SESSIONID,与存储在服务端本地的SESSIONID之间会进行比较,如果一致,允许访问个人主页,如果不一致,就会重定向到登录页面
JMeter实战
以51cto学堂为例,https://edu.51cto.com/
SESSION流程描述
以51cto学堂为例
在登录界面抓取到需要的数值,放置在HTTP信息头管理器中
将登录的路径以及参数填写准确
直接在登录控制器上添加HTTP Cookie管理器
这样在之后的请求中会带上SESSIONID
测试报告
PostMan实战
PostMan描述
首先将测试用例export(导出)至文件夹或桌面
在控制台中输入命令找到目标用例的存储目录
输入newman run命令在控制台出现测试结果
输入-r html命令生成测试报告
JMeter实战
JMeter描述
将完成的测试用例保存至script目录下
修改build.xml中JMeter路径、发送至邮箱、报告名称、发送的报告名称
打开控制台,进入相应的目录下
输入ant执行发送报告