第一步:导出postman文件
Postman就是根据collection和enviroment这两个json文件来自动化运行的!

所以从Postman中导出collection和enviroment文件,上传到linux主机。

 

第二步:安装node/npm

linux上安装node 和npm ,然后才能用npm安装newman
linux上用newman+postman进行自动化测试-LMLPHP
第三步:安装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。
linux上用newman+postman进行自动化测试-LMLPHP
这样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
这样就为当前用户配置了中国上海时区
linux上用newman+postman进行自动化测试-LMLPHP
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
05-11 11:23