接口自动化-YAPI+GITLAB+JENKINS+飞书畅想与实践
起因
- 工作中遇到期望做接口自动化,之前公司跟着团队做过python+request搭建的自动化框架,逐步完善框架本身,与接口测试用例本身,都是需要代码编写能力较强,能保证框架本身没问题,也要保证接口用例本身没问题。
- 领导期望接口自动化能做到闭环,从代码产生开始到接口测试结果结束,都可以圈入一个闭环。
- 没有足够的代码能力,去维护一个全新的框架或工具,只能在现有工具的功能上做相应的优化与耦合。
工具准备与环境前提
- 当前公司现有工具流程已集成:
- 代码gitlab管理;
- 后端服务集成rancher管理;
- 客户端代码通过jenkins构建打包;
- 接口文档完善,通过IDEA插件自动导入到yapi管理,yapi可做接口自动化,接口变更时,测试集合也会自动更新;
- 团队使用飞书,创建了群组后有群组机器人概念,可用作接口测试结果通知。
- 以上平台和工具有相应权限的账号
解决的问题
- yapi接口测试:参考官方文档:插件安装、登录后配置全局token、服务端测试、断言;
- 飞书机器人:参考官方文档:创建机器人、postman组装调用机器人模拟发消息的post请求接口、从postman获得相应的curl;
- Jenkins:配置构建执行curl、拿到自己账号的token;
- gitlab:web hook 功能,配置触发条件下,执行某post类型的请求接口;yapi服务端测试的URL是get类型,不能直接放到web hook里;飞书机器人的接口是post,但是web hook里无法添加传参,所以也无法直接添加进去web hook;Jenkins某项目配置构建,拿到账号A:token后,可组装post请求的接口,可直接放到web hook,模拟账号A手动点了立即构建的操作。
- 综上,可实现在gitlab代码有变动时,触发jenkins对应项目自动构建,构建通过shell方式,执行相应脚本,完成请求yapi接口测试-服务端测试的curl,并请求飞书机器人发送相关信息到群组的curl
待解决的问题
- yapi新增测试集合时,自动同步到Jenkins构建执行的脚本里
- yapi测试集合里编写断言时,部分判断条件无法满足等。
正文
参考资料
飞书官方文档:机器人操作使用
yapi官方文档:接口自动化测试
yapi配置token:
先登录获取token,设置传参
storage的使用
gitlab配置web hook :Gitlab 利用 Webhook+jenkins 实现自动构建与部署
jenkins配置构建执行:Yapi在Jenkins中配置服务端测试
作者:种树在此时
链接:https://www.jianshu.com/p/158dcf9b9532
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2023-08-09 whistle修改接口返回步骤(只影响前端展示,不会插入数据到数据库)