首页 > 其他分享 >接口自动化-YAPI+GITLAB+JENKINS+飞书畅想与实践

接口自动化-YAPI+GITLAB+JENKINS+飞书畅想与实践

时间:2024-08-09 20:28:16浏览次数:14  
标签:YAPI yapi GITLAB 接口 hook 构建 web 测试 JENKINS

起因

  • 工作中遇到期望做接口自动化,之前公司跟着团队做过python+request搭建的自动化框架,逐步完善框架本身,与接口测试用例本身,都是需要代码编写能力较强,能保证框架本身没问题,也要保证接口用例本身没问题。
  • 领导期望接口自动化能做到闭环,从代码产生开始到接口测试结果结束,都可以圈入一个闭环。
  • 没有足够的代码能力,去维护一个全新的框架或工具,只能在现有工具的功能上做相应的优化与耦合。

工具准备与环境前提

  • 当前公司现有工具流程已集成:
    • 代码gitlab管理;
    • 后端服务集成rancher管理;
    • 客户端代码通过jenkins构建打包;
    • 接口文档完善,通过IDEA插件自动导入到yapi管理,yapi可做接口自动化,接口变更时,测试集合也会自动更新;
    • 团队使用飞书,创建了群组后有群组机器人概念,可用作接口测试结果通知。
  • 以上平台和工具有相应权限的账号

解决的问题

  1. yapi接口测试:参考官方文档:插件安装、登录后配置全局token、服务端测试、断言;
  2. 飞书机器人:参考官方文档:创建机器人、postman组装调用机器人模拟发消息的post请求接口、从postman获得相应的curl;
  3. Jenkins:配置构建执行curl、拿到自己账号的token;
  4. gitlab:web hook 功能,配置触发条件下,执行某post类型的请求接口;yapi服务端测试的URL是get类型,不能直接放到web hook里;飞书机器人的接口是post,但是web hook里无法添加传参,所以也无法直接添加进去web hook;Jenkins某项目配置构建,拿到账号A:token后,可组装post请求的接口,可直接放到web hook,模拟账号A手动点了立即构建的操作。
  5. 综上,可实现在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
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

标签:YAPI,yapi,GITLAB,接口,hook,构建,web,测试,JENKINS
From: https://www.cnblogs.com/zgq123456/p/18351441

相关文章

  • yum和rpm安装的Jenkins启动报错"Job for jenkins.service failed because the control
    jenkins卸载方式servicejenkinsstopyumcleanallyum-yremovejenkinsfind/-inamejenkins|xargs-n500rm-rf#文件名称符合name的文件。iname会忽略大小写#xargs命令可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数......
  • Jenkins 的 Shell 命令中执行一个 JAR 包时,日志没有显示,如何禁用输出缓冲
    在Jenkins的Shell命令中执行JAR包时,如果日志没有显示且你想禁用输出缓冲,可以尝试使用以下方法之一来禁用输出缓冲:1.使用 stdbuf 命令:stdbuf 是用于修改标准I/O缓冲机制的命令,可以用来调整输出的缓冲方式。你可以尝试使用 stdbuf 命令来禁用输出缓冲,例如:stdbuf-o......
  • Centos上Jenkins+git+allure使用教程
    1、Jenkins上下载allure 2、下载安装完成后重启Jenkins,然后查看allure插件安装成功,如下图所示 3、Jenkins服务器上,安装allure-2.26.0,安装完成后配置环境变量,vi/etc/profile配置环境变量添加exportPATH=$PATH:/usr/local/allure-2.26.0/bin保存环境变量source/etc......
  • jenkins的shell command中如何让python 实时显示执行日志
    在使用Jenkins的shellcommand里面执行python脚本时,我们希望在构建shell脚本时可以实时输出日志,但是在构建python脚本时,是等到python执行完成以后,才显示结果,这个对于我们判断脚本执行状态非常不友好。而之所以会出现这种情况,是因为python默认是有缓存的,所以我们需要禁用输入......
  • jmeter+ant+jenkins
    1、先完成jmeter安装参照文章:https://www.cnblogs.com/mimosaling/p/183467472、完成ant安装参照文章:https://www.cnblogs.com/mimosaling/p/183465473、在jmeter的bin目录下,找到jmeter.properties配置文件,修改如下红框中的参数 4、通过ant命令使用ant调用jmeter脚本在Jme......
  • 基于K8S部署安装Jenkins
    基于K8S部署安装Jenkins1.JenkinsKubernetes清单文件2.KubernetesJenkins部署1:为Jenkins创建Namespace。最好将所有DevOps工具分类为与其他应用程序分开的命名空间。2:创建“serviceAccount.yaml”文件并复制以下管理员服务帐户清单。1.kubectl创建服务帐户。3......
  • Jenkins
     translatorAfrikaansAlbanian-shqipeArabic-‎‫العربية‬‎Armenian-ՀայերէնAzerbaijani-azərbaycancaBasque-euskaraBelarusian-беларускаяBengali-বাংলাBulgarian-българскиCatalan-catalàChin......
  • yapi 部署k8s
    apiVersion:v1kind:Namespacemetadata:name:yapi-ns---apiVersion:v1kind:Servicemetadata:name:mongonamespace:yapi-nslabels:app:mongospec:ports:-port:27017targetPort:27017name:mongoselector:app:......
  • Jenkins部署手册
    一、概述Jenkins是一个持续集成环境,底层由Java开发,它的工作流程可以看作:1、从服务器拉下源代码到本地2、恢复相关程序包nuget3、MSBuild编译程序4、发布程序 二、安装在测试服务器212中依次安装SVN、JDK、VisualStudio、Jenkins,安装包如图:  配置环境变量、安装过......
  • Windows环境下Jenkins安装手册
    Jenkins是一款自动化服务器,支持持续集成和持续交付。本手册提供Windows环境下Jenkins的安装和使用步骤。 下载:网址:https://www.jenkins.io/点击下载按钮,选择合适的版本下载     安装:双击安装包开始安装,依次点击下一步,更改Jenkins端口号避免占用,8090  选......