linux上用newman+postman进行自动化测试
第一步:导出postman文件
Postman就是根据collection和enviroment这两个json文件来自动化运行的!
所以从Postman中导出collection和enviroment文件,上传到linux主机。
第二步:安装node/npm
linux上安装node 和npm ,然后才能用npm安装newman
第三步:安装newman
newman作用: 命令行模式下执行postman的collection和enviroment文件。
安装命令:sudo npm install -g newman
newman -v 能够显示出版本说明安装成功!
如果报错,类似这种错误:
-bash: ./newman: /usr/bin/env: bad interpreter: No such file or directory
这是因为newman这个文件开头指定的node解释器位置有误造成的!
解决方法:
1.确认本机的node解释器位置,如上图node解释器的位置已经设置为:/usr/local/bin/node
2.找到linux中newman解释器目录,比如笔者的是:/usr/bin/newman
执行: vi /usr/bin/newman,修改文件开头node解释器为正确路径即可!本机node解释器的目录:/usr/local/bin/node。
这样newman命令应该就能用了!
第四步:设置定时任务跑Newman
4.1保证系统时间是CST 国内时间
mv /etc/localtime /etc/localtime.bak
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/locaktime
使用上面的两条命令就可以实现从EDT时间变成CST的时间。
4.2修改时区,执行:
export TZ="Asia/Shanghai"
source ~/.bashrc
这样就为当前用户配置了中国上海时区
4.3添加定时任务,执行:crontab -e
添加下面命令:
30 15 * * * newman run /home/lkj/postman_collection.json -e /home/lkj/postman_environment.json >> /home/lkj/result.txt;python /home/lkj/sendmail.py;rm -rf /home/lkj/result.txt
命令解释:
30 15 * * *---------------------------------------------表示每天15点30分
newman run /home/lkj/postman_collection.json----newman run 从postman导出的API文件
-e /home/lkj/postman_environment.json------------指定API的环境文件
>> /home/lkj/result.txt;------------------------------将执行结果写进result.txt文件
python /home/lkj/sendmail.py;-----------------------执行python脚本
rm -rf /home/lkj/result.txt----------------------------删除result.txt文件
4.4重启crontab服务让设置生效
分为两种情况:
1.在系统中有service这个命令时:
这个命令在red hat当中常用,有的linux发行版本中没有这个命令.
$ service crond start //启动服务
$ service crond stop //关闭服务
$ service crond restart //重启服务
2.linux发行版本没有service这个命令时:
/etc/init.d/cron stop
/etc/init.d/cron start