原理:
在云服务工程构建步骤完成后增加一个webhook通知,搭建一个webhook服务接收通知后,启动jmeter脚本执行并生成report。
步骤一:在Linux环境安装jmeter并配置环境变量
步骤一相对简单,网上比较多,参考如下链接完成。
https://mp.weixin.qq.com/s?__biz=MzI5ODU1MzkwMA==&mid=2247486217&idx=1&sn=3efb644e3dba18f15686dd3395622534&chksm=eca54c4adbd2c55c94ab6a3d8663c593ab2f114dcd748ddde07d952981245f7225e1648dc551&scene=21#wechat_redirect
步骤二:把webhook放到服务器上
搭建webhook服务,如下js脚本放到服务器上。
把启动Jmeter的命令放进去这个webhook.js脚本中,如下图:
chmod 777 /root/auto-testing/apache-jmeter-5.4.1/bin/jmeter
//上面命令是赋权
jmeter -n -t /root/auto-testing/autotestElink.jmx -l /root/auto-testing/logAndReport/${logFileName}.jtl
//上面命令是启动执行jmeter脚本后,并输出jtl报告
步骤三:在后端服务中新增节点,通知webhook
http://101.333.109.22:1001/kick-64746653-0ec6-4571-af6c-a087f3e4883b?path=12
//webhook接收通知后,执行命令
步骤四:
1.手工启动jmeter,执行如下命令
jmeter -n -t /root/auto-testing/autotestElink.jmx -l /root/auto-testing/logAndReport/report111.jtl
2.执行如下命令会手工启动webhook服务,接收web通知,启动jmeter,然后构建服务就会接收到通知调用jmeter脚本了
nohup node /root/auto-testing/yunxiao-build-jmeter-webhook.js -> /root/auto-testing/logAndReport/jmeterwebserver.log &
3.webhook服务启动后,每次构建完调用接口地址,触发跑jmeter脚本
http://101.333.109.22:1001/kick-64746653-0ec6-4571-af6c-a087f3e4883b?path=12
注意:退出xshell时,需要用 exit,不然会把webhook服务干掉。
构建后生成的报告如下:
注意:如果大家不会自己封装webhook.js 接口接收通知调用jmeter脚本,请留言联系,私下里发给你这个脚本。