写点什么

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

  • 2022 年 8 月 31 日
    北京
  • 本文字数:1066 字

    阅读完需:约 3 分钟

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 报告的标识

- 点击查看,报告完美展示

以上,欢迎大家一起交流探讨。

免费领取:性能测试+接口测试+自动化测试+测试开发+测试用例+简历模板+测试文档

http://qrcode.testing-studio.com/f?from=infoQ&url=https://ceshiren.com/t/topic/16565


用户头像

社区:ceshiren.com 微信:ceshiren2021 2019.10.23 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料,实时更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬。

评论

发布
暂无评论
Jenkins 踩坑(四)|基于接口自动化测试完成 Jenkins+GitHub+Allure 的结合_霍格沃兹测试开发学社_InfoQ写作社区