一、 Yapi中,设置测试集合
二、 选择:服务端测试。将生成的链接复制下来。
三、 在jenkins中,新建一个工程。
3.1 定时执行。
Build Triggers ——勾选 build periodically
0 9 * * *
0 17 * * *
代表每天固定9点和17点运行。
3.2 执行命令。
Build ——execute shell,填写如下代码,
为了报告不覆盖和可识别性,我利用每次构建号作为报告名后缀。大家也可以用时间戳变量,但是个人感觉还是构建号更方便。
curl -o reportname$BUILD_NUMBER.html "http://yapi.cdfsunrise.com:3000/api/open/run_auto_test?id=210&token=1e4xxxxx"
3.3 case运行结果校验。
jenkins构建本身的结果,并不包含case运行结果。 所以不论我们的case执行情况如何,只要本次构建成功,就会判断为成功,所以我们要从测试报告中,读取,是否有关键字“未通过”。如果有,则本轮case运行失败。
Build ——execute shell,填写如下代码,
a=$(grep -c '未通过' order_auto$BUILD_NUMBER.html)
if((${a}==1))
then
exit 1
else
exit 0
fi
3.4 结果通知。
发送飞书消息。并附带测试报告。在飞书中点击:查看报告,即可直接跳转到报告页。
先建一个飞书机器人,获取到机器人的地址。
Build ——execute shell,填写如下代码
#!/bin/bash
cd /var/lib/jenkins/workspace/auto_订单服务_yapi接口_早9晚5_public
report_url="https://jenkins.cdfsunrise.com/view/%E8%87%AA%E5%8A%A8%E5%8C%96%E5%B7%A5%E5%85%B7/job/auto_%E8%AE%A2%E5%8D%95%E6%9C%8D%E5%8A%A1_yapi%E6%8E%A5%E5%8F%A3_%E6%97%A99%E6%99%9A5_public/ws/order_auto$BUILD_NUMBER.html"
a=$(grep -c '未通过' order_auto$BUILD_NUMBER.html)
if((${a}==1))
then
time_finish=`date +%Y-%m-%d-%H:%M:%S`
curl -H 'Content-Type: application/json' -X POST -d '{"msg_type":"post","content":{"post":{"zh_cn":{"title":" Jenkins-autoAPI结果通知 ","content":[[{"tag":"text","text":"服务:订单"}],[{"tag":"text","text":"结果:Fail"}],[{"tag":"text","text":"构建号:'$BUILD_NUMBER'"}],[{"tag":"text","text":"跟进人:xxx"}],[{"tag":"text","text":"时间:'$time_finish'"}],[{"tag":"a","text":"查看报告","href":"'$report_url'"}]]}}}}' "//飞书机器人地址 https://open.feishu.cn/open-apis/bot/v2/hook/xxxxx" >/dev/null 2>&1
exit 1
else
curl -H 'Content-Type: application/json' -X POST -d '{"msg_type":"post","content":{"post":{"zh_cn":{"title":" Jenkins-autoAPI结果通知 ","content":[[{"tag":"text","text":"服务:订单"}],[{"tag":"text","text":"结果:success"}],[{"tag":"text","text":"构建号:'$BUILD_NUMBER'"}],[{"tag":"text","text":"时间:'$time_finish'"}],[{"tag":"a","text":"查看报告","href":"'$report_url'"}]]}}}}' "//飞书机器人地址 https://open.feishu.cn/open-apis/bot/v2/hook/xxxxx" >/dev/null 2>&1
exit 0
fi
3.5 美化报告。
由于直接查看生成的报告格式并不好看,故我们增加groovy插件,便可以和yapi原生报告一样。
post-build actions -- groovy script (记得提前安装这个Jenkins插件)
填写代码如下:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
四,返回项目首页,执行
五,进入 workspace(工作区),查看报告。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)