Yapi集成到Jenkins实现接口自动化—最全面的流程讲解

Yapi集成到Jenkins实现接口自动化—最全面的流程讲解,第1张

一、 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(工作区),查看报告。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/926281.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存