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

简介: 1.关于使用Jenkins创建job完成自动化测试,核心在于项目的拉取和执行,至于job的创建大同小异,需要了解的可以参考文章:[Jenkins之job创建、参数化与定时构建以及时区偏差填坑]2.另外还需要的就是执行机的环境(以GitHub拉取项目为例),需要具体细节操作可自行百度Google或参考文章:[Jenkins如何管理、配置、运行node节点,用slave进行分布式运行]- 需要
更多技术文章分享和免费资料领取
https://qrcode.testing-studio.com/f?from=Aliyun&url=https://ceshiren.com/t/topic/16586

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 配置与任务邮件发送
原文链接

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

更多技术文章分享和免费资料领取
https://qrcode.testing-studio.com/f?from=Aliyun&url=https://ceshiren.com/t/topic/16586
相关文章
|
20天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
52 3
|
2月前
|
测试技术
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
本文介绍了如何使用Pytest和Allure生成自动化测试报告。通过安装allure-pytest和配置环境,可以生成包含用例描述、步骤、等级等详细信息的美观报告。文章还提供了代码示例和运行指南,以及重构项目时的注意事项。
216 1
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
|
2月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
69 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
3月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
252 7
Jmeter实现WebSocket协议的接口测试方法
|
3月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
264 3
快速上手|HTTP 接口功能自动化测试
|
3月前
|
JavaScript 前端开发 测试技术
ChatGPT与接口测试
ChatGPT与接口测试,测试通过
52 5
|
2月前
|
JavaScript 前端开发 API
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
41 0
|
4月前
|
网络协议 测试技术 网络安全
Python进行Socket接口测试的实现
在现代软件开发中,网络通信是不可或缺的一部分。无论是传输数据、获取信息还是实现实时通讯,都离不开可靠的网络连接和有效的数据交换机制。而在网络编程的基础中,Socket(套接字)技术扮演了重要角色。 Socket 允许计算机上的程序通过网络进行通信,它是网络通信的基础。Python 提供了强大且易于使用的 socket 模块,使开发者能够轻松地创建客户端和服务器应用,实现数据传输和交互。 本文将深入探讨如何利用 Python 编程语言来进行 Socket 接口测试。我们将从基础概念开始介绍,逐步引导大家掌握创建、测试和优化 socket 接口的关键技能。希望本文可以给大家的工作带来一些帮助~
|
4月前
|
网络协议 测试技术 网络安全
Python进行Socket接口测试的实现
在现代软件开发中,网络通信是不可或缺的一部分。无论是传输数据、获取信息还是实现实时通讯,都离不开可靠的网络连接和有效的数据交换机制。而在网络编程的基础中,Socket(套接字)技术扮演了重要角色。 Socket 允许计算机上的程序通过网络进行通信,它是网络通信的基础。Python 提供了强大且易于使用的 socket 模块,使开发者能够轻松地创建客户端和服务器应用,实现数据传输和交互。 本文将深入探讨如何利用 Python 编程语言来进行 Socket 接口测试。我们将从基础概念开始介绍,逐步引导大家掌握创建、测试和优化 socket 接口的关键技能。希望本文可以给大家的工作带来一些帮助~
|
4月前
|
SQL Java 测试技术
SpringBoot单元测试快速写法问题之PorkService 接口中的 getPork 方法的作用如何解决
SpringBoot单元测试快速写法问题之PorkService 接口中的 getPork 方法的作用如何解决