ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Jenkins 踩坑(四)|基于接口自动化测试完成 Jenkins+GitHub+Allure 的结合

2022-08-30 18:00:08  阅读:217  来源: 互联网

标签:GitHub slave 填入 job Allure 构建 测试 Jenkins


⬇️ 点击“下方链接”,提升测试核心竞争力!

>>更多技术文章分享和免费资料领取

1.关于使用Jenkins创建job完成自动化测试,核心在于项目的拉取和执行,至于job的创建大同小异,需要了解的可以参考文章:[Jenkins之job创建、参数化与定时构建以及时区偏差填坑]
2.另外还需要的就是执行机的环境(以GitHub拉取项目为例),需要具体细节操作可自行百度Google或参考文章:[Jenkins如何管理、配置、运行node节点,用slave进行分布式运行]

  • 需要配置Java运行环境(我用的是jdk1.8)
  • 需要有maven环境
  • 需要有git环境
  • 需要将git的公钥加入GitHub的SSH key
    3.已经存在一个接口自动化测试的项目
    下面就仅重点介绍需要注意的点。
    1)新建job后,在【源码管理】中选中Git,Repository URL中填入GitHub中的项目地址:
    2)在【Credentials】中我们需要Git的认证才可以使用git去拉取代码,点击【添加】,这里选择的是SSH的方式。
    【Username】中填写你Git的用户名,可以使用git config user.name命令查看。
    【Private Key】中填入你Git的私钥,可以使用cd ~/.ssh进行查找,将id_rsa中的内容填入即可。
    在构建中我们选择以shell的方式执行:
  • . ~/.bash_profile是为了引入我的环境变量配置
  • cd …ApiTest是为了进入我设置的项目目录下
  • mvn clean install -Dtest=SearchTest目的是为了使用maven制定执行SearchTest
    踩坑时刻:
    这里有一个坑需要注意,如果是用docker启用的Jenkins服务,在你创建完job直接在master上构建后,会报找不到你写的这些shell命令的错误,因为你这个服务时跑在容器里的,而这些shell命令是需要在容器外执行的,解决方法有两种:
    4.重新构建一个带有环境的Jenkins变量
    5.将master创建成一个slave,在slave节点上运行即可
    我使用的是第二种方法:
    创建好slave后在job中设置运行在master_slave节点上:
    执行构建,在控制台输出中查看log,BUILD SUCCESS!构建成功,用例执行了11个,失败了3个。
    1)插件安装,先在Jenkins的【插件管理】中搜索安装Allure插件,如下:
    2)回到job中,在【构建后的操作】中选择Allure Report,填入allure-result的路径
    踩坑时刻:
    这里Results的路径要注意填写你实际的存放路径,Jenkins例子和网上很多文章都直接写了填写target/allure-results,如果你的路径不对,肯定就找不到数据;比如我这里在前面已经设置了一个项目子目录,所以要填入子目录的路径。
    再次执行构建,查看结果:
  • 构建完成后我们可以看到已经有了allure报告的标识
  • 点击查看,报告完美展示
    以上,欢迎大家一起交流探讨。

4 个月由浅入深,强化集训,测试大咖思寒领衔主讲,授之以渔,通过 10+ 企业级项目实战演练,带你一站式掌握 BAT 测试开发工程师必备核心技能(对标阿里巴巴P6+,挑战年薪50W+)!学员直推 BAT 名企测试经理,普遍涨薪 50%+!测试开发从入门到高级实战系统进阶必备,可能是业界最具深度、最贴近大厂一线实践的测试开发课程。

【往期文章】
Jenkins 踩坑 | job 创建、参数化、定时构建及时区偏差问题解决
Jenkins 踩坑 (二) | 管理、配置、运行 Node 节点与 Slave 分布式运行
Jenkins 踩坑(三)| Email 配置与任务邮件发送
原文链接

⬇️ 点击“下方链接”,提升测试核心竞争力!

>>更多技术文章分享和免费资料领取

标签:GitHub,slave,填入,job,Allure,构建,测试,Jenkins
来源: https://www.cnblogs.com/Tester-muller/p/16640311.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有