Jenkins+Newman+Postman接口自动化测试操作指南
测试环境
(1)postman8.0以上版本(https://www.postman.com/downloads/)
(2)高性能PC一台
(3)Node
(4)Jenkins
Collections设置
步骤1:新建collections,新建requests,有几个requests就新建几个
步骤2:逐一调通单个requests,根据实际接口设置Authorization(授权)、headers(请求头)、body(请求体)、Tests(断言)、globals(全局变量)保存后,单击“send”,返回值正确,如下图所示。
(1)全局变量配置,点击右上角眼睛图标,设置Globals,参数及参数值,变量引用方式{{xxx}},变量可导出json格式,用于命令执行。
(2)断言设置
tests["Status code is 200"] = responseCode.code === 200; //响应状态码200
pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include("temperature");
}); //响应内容包含某个字符
pm.test("check data", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.detail).to.eql("success");
}); //检查json串value值
(3)导出Collection集合。选中集合名称,右键——Export
客户端批量执行
选中集合,单击“Run”,设置循环次数、间隔时间,开始执行,执行完成后的成功与失败次数按断言统计。
注意:实测低版本postman批量执行500次,客户端易崩溃闪退,8.0版本测试10000次不会闪退。
命令批量执行(PC已安装node)
-g 全局变量
-n 循环次数
--delay-request 间隔时间(ms)
--r 报告类型
客户端批量执行对PC的内存、CPU性能要求较高,且耗时长,使用命令批量执行后台运行,内存CPU使用率较低,循环次数大建议使用命令执行。
Jenkins持续集成(PC已安装jenkins)
步骤1:新建Item->输入任务名称->选择Freestyle project->单击<确定>
步骤2:单击<配置>,单击<构建>,“增加构建步骤”选择,输入命令,单击应用、保存,跳转到工作区,单击<Build Now>。
备注:可设置构建时间,单击<构建触发器>,选择,输入要构建的时间,如H/30 * * * *,保存后,每隔30分钟自动执行一次。
踩过的坑,总结如下:
安装新版本后无法正常启动
解决方案:删除%appdata%目录下的postman文件
win10的目录为:C:\Users[用户名]\AppData\Roaming\Postman,删除之后恢复正常。
安装postman新版本后旧版本的集合无法导入
解决方案:
1.npm install -g postman-collection-transformer
2.postman-collection-transformer convert
-i F:\v1\kuxin.postman_collection.json
-o F:\v2
-j 1.0.0 -p 2.0.0 -p
注意:-i后接旧版本集合文件路径,-o后接转换后的新版本集合文件存储目录
8.0版本,命令newman run E:\xxx.json -g E:\pmtest\postman_globals1.jso
n,提示could not load globals
解决方案:
1.从postman导出的全局变量文件内容不能修改,文件名可更改
2.-g后面的路径加引号试试
jenkins构建postman批处理提示newman' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
解决办法:命令前加上newman的路径,where newman 输出路径
e:
cd E:\pmtest
C:\Users\06726hh\AppData\Roaming\npm\newman run v2_kuxin.postman_collection.js
on
-g kx_postman_globals.json
-n 1 --delay-request 1000 -r html
完~