原文链接:Postman+Newman+Git+Jenkins实现接口自动化测试持续集成
接口测试脚本一般的执行流程
做接口测试的话,首先要考虑的是如何选择一个合适的工具?在忽略工具是否好用,是否能满足业务要求的前提下,需要考虑一下2点:
1、要考虑工具的学习成本
2、要考虑团队的协作
接口测试脚本的执行流程:
团队成员协作编写接口用例->用例归档到git/svn->脚本集成jenkins,在环境更新后自动触发执行或定时执行。
Postman工具常见的接口测试流程是怎样的?
Windows系统Newman安装
Centos系统Newman安装
tar xvJf ***.tar.xzecho "export PATH=\"\$PATH:/root/tools/node-v14.8.0-linux-x64/bin\"" \ >> ~/.bash_profile &&source ~/.bash_profile
tar xvJf ***.tar.xz
echo "export PATH=\"\$PATH:/root/tools/node-v14.8.0-linux-x64/bin\"" \ >> ~/.bash_profile &&
source ~/.bash_profile
命令行执行Postman脚本生成测试报告
--reporter-html-export htmlReport.html
--reporter-htmlextra-export htmlExtraReport.html
--reporter-junit-export junitReport.html
--reporter-json-export jsonReport.html
npm config set registry https://registry.npm.taobao.org
4、通过newman-reporter-htmlextra插件生成的html报告,默认是不包含css样式文件的,如果是发给别人访问 ,在断网的情况下查看报告,样式是加载不了的。目前查了一下,好像没有类似allure里面的那种参数,可以把报告所需的样式和报告一起导出,不过这个插件支持自定义报告模板,可以自己手动将css样式文件导出到某个位置,然后修改报告模板汇总引用的文件去解决这个问题。
Postman脚本持续集成
通过上面的描述 ,现在已经可以将postman脚本生成报告了,离集成jenkins只差最后的配置工作了:
1、在gitee上新建一个仓库,将postman调试好的脚本导出成json文件,上传到gitee上 (上传到gitee仓库的话,可以方便团队不同成员之间可以更改和查看用例),后续有脚本变更的时候也可以直接更新到git上进行存储,git上也可以按版本按分支存放你的测试脚本
2、搭建好jenkins环境,并配置好npm的环境以及安装好newman执行环境
3、新建一个自由风格的job,配置从git上获取脚本:
勾选构建环境下的清除工作空间目录的配置,将之前的报告清除(如果执行命令生成报告时自己指定了报告名称的话 ,也可以不清除工作空间的文件)
添加执行batch命令 / shell命令,命令内容如下:
# batch命令cd /d %WORKSPACE%newman run demo.postman_collection.json -r htmlextra --reporter-htmlextra-export ./report/htmlExtraReport.html 或者# shell 命令cd $WORKSPACEnewman run demo.postman_collection.json -r htmlextra --reporter-htmlextra-export ./report/htmlExtraReport.html newman run demo.postman_collection.json -r htmlextra --reporter-htmlextra-export ./report/htmlExtraReport.html
# batch命令
cd /d %WORKSPACE%
newman run demo.postman_collection.json -r htmlextra --reporter-htmlextra-export ./report/htmlExtraReport.html
或者
# shell 命令
cd $WORKSPACE
newman run demo.postman_collection.json -r htmlextra --reporter-htmlextra-export ./report/htmlExtraReport.html newman run demo.postman_collection.json -r htmlextra --reporter-htmlextra-export ./report/htmlExtraReport.html
然后再构建后操作那里 ,添加报告的展示:
需安装HTML Publisher plugin插件
构建后 ,即可在jenkins上看到HTML报告:
发送钉钉通知
解决jenkins上无法展示HTML样式的问题
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
-Dhudson.model.DirectoryBrowserSupport.CSP=
4、用tomcat部署的jenkins,可以直接改catalina.bat文件,找到tomcat/bin下的catalina.bat文件,用Notepad++打开,加上一行代码
set JAVA_OPTS="-Dhudson.model.DirectoryBrowserSupport.CSP"
扩展学习