postman+newman+jenkins接口自动化
1 环境搭建
1.1 安装node.js
游览器输入Node.js官网地址,点击download :https://nodejs.org/en/download/
根据系统选择安装包下载,我的系统是64位,所以下载windows的64位.mis安装包。
验证Node.js
在windows上运行命令窗口,输入:node -v
验证npm
在windows上运行命令窗口,输入:npm -v
1.2 安装NewMan
在windows上运行命令窗口,输入:npm install -g newman
验证newman
在windows上运行命令窗口,输入:newman -v
1.3 安装new-reporter-html
安装命令:npm install -g newman-reporter-html
安装命令:npm install -g newman-reporter-htmlextra
尽量保证网络稳定,安装时,不要动终端界面,安装时间需要20秒左右。
1.4 问题-权限不足
解决:
捕捉到是权限的问题,给npm一个足够高的权限即可。
sudo chown -R $USER +路径
sudo chown -R $USER /usr/local/lib/node_modules //淘宝路径安装 npm install -g newman --registry=http://registry.npm.taobao.org //也用淘宝路径安装 npm install -g newman-reporter-html --registry=http://registry.npm.taobao.org
1.5 安装jenkins
xxx
2 postman脚本导出
点击文件夹右侧三角,弹出菜单,点击【…】按钮,点击【export】,弹出导出页面,点击【export】,选择保存路径即可
点击右上角环境变量小眼睛,点击下载按钮,导出环境变量
3 newman运行
newman run '项目文件' -g '环境变量文件' -d '数据驱动文件'
完整命令
newman run 用例集文件.json -e 环境文件.json -d数据文件.json/.csv -r htmlextra --reporter-htmlextra-export 测试报告名.html
-e和-d是非必须的。如果没有使用环境,不需要指定-e
如果没有使用数据文件(做参数化),不需要指定-d
指定生成html报告
newman run 接口脚本.postman_collection.json -e 环境变量.postman_environment.json -d 参数化数据文件.json -r html,cli --reporter-html-export result.html
//或
newman run 接口脚本.postman_collection.json -e 环境变量.postman_environment.json -d 参数化数据文件.json -r htmlextra,cli --reporter-htmlextra-export report.html --reporter-htmlextra-title "X项目自动化测试报告"
4 集成jenkins
构建
首先新建一个自由风格的项目: postman_api_test,
然后在【构建】栏目下拉菜单选择 【Execute Windows batch command】,在构建中输入命令,
点击【保存】
c:
cd C:\Users\Shuqing\Desktop\pmtest\
newman run Postman_API.postman_collection.json -d data.json -r html
Tips:使用命令 c:切换到 postman 脚本所在盘符。
点击【build now】执行构建,在【控制台输出】中可以看到运行的日志
定时任务设置
在item中点击【配置】,在【构建触发器】栏目下拉菜单选择 【Build periodically】,日程表中输入对应设置
日程表填写格式:
日程表(Schedule)有五位,格式为* * * * *,依次意思为:分钟(0-59)小时(0-23)日(1-31)月(1-12)星期(0-7),以空格分隔开,注意:
- 每个值都是一个A-B的区间值
- 可以取值A-B/x、 */X 意思是取部分部分区间或整个区间每一个间隔X的值 //如H */2 * * * 每隔2小时执行一次
- 可以取制定值A //如 10 0-23 * * * 每个小时的10分开始执行任务
填写后,在输入框底下可以看到下一次的执行时间,是否符号预期,然后进行调整
常用规则
每天下午18点定时构建一次 : H 18 * * *
每天上午12点和下午18点定时构建一次 : H 12,18 * * *
在每个小时的前30min内,次/10min :H(0-29)/10 * * * *
周一至五,9~16点期间,次/2h,且每次执行都在第45min时执行 : 45 H(9-16)/2 * * 1-5
周一至五,9~17点期间,次/2h : H H(9-17)/2 * * 1-5