问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

自动化测试 Pytest+Allure+Jenkins 持续集成(超详细)

创作时间:
作者:
@小白创作中心

自动化测试 Pytest+Allure+Jenkins 持续集成(超详细)

引用
CSDN
1.
https://blog.csdn.net/YJT1002/article/details/139684254

在软件开发领域,持续集成(CI)是确保代码质量和项目进度的关键环节。本文将详细介绍如何使用pytest、allure和jenkins构建一个高效的持续集成环境。

pytest框架

pytest是一个功能强大的测试框架,能够高效地编写和运行各种类型的单元测试、功能测试和端到端测试。它支持编写清晰、模块化的测试代码,并允许用户自定义测试规则和测试报告。此外,pytest还支持多线程执行测试用例,从而提高了测试速度和效率。因此,pytest被广泛应用于Python项目的测试工作中。

allure框架

虽然市面上有很多优秀的测试框架,但能够清晰展示测试结果的报告工具却相对较少。allure是一款开源的测试结果展示工具,其目的是让团队中的每个人都能够清楚地看到测试结果。allure支持与多种著名测试框架集成:

  • Python语言:支持pytest、behave、nose等测试框架
  • Java语言:支持junit4、junit5、TestNG等测试框架

allure会将测试用例的执行数据保存到xml文件中,然后通过命令行将这些文件转换成html格式进行展示。

安装allure

allure提供了多种平台的命令行安装方式。以下是手动安装步骤,适用于所有平台:

  1. 安装Java:Allure需要Java环境才能运行。如果还没有安装Java,先下载并安装Java。
  2. 下载Allure:从Allure官网下载最新版本的Allure压缩包,例如allure-commandline-2.13.0.zip。
  3. 解压Allure:将下载的Allure压缩包解压到想要安装的目录下。
  4. 配置环境变量:将Allure的bin目录添加到系统PATH环境变量中。例如,假设将Allure解压缩到了C:\Program Files\allure-2.13.0目录下,那么需要把C:\Program Files\allure-2.13.0\bin目录添加到PATH环境变量中。
  5. 验证安装:打开命令行终端,输入“allure --version”命令,如果显示出Allure的版本信息,则说明Allure已经成功安装。

allure与pytest的集成

在allure安装完成后,需要与pytest集成,以便在pytest运行完成后生成allure报告。首先需要安装pytest的allure支撑插件:

pip install allure-pytest

在执行pytest命令时,添加allure命令参数:

if __name__ == '__main__':
    pytest.main(["-s", "-v", "--html=Outputs/reports/pytest.html",
                 "--alluredir=Outputs/allure"])  # allure文件生成的目录

等待pytest执行完所有的测试用例后,在Outputs/allure目录下会生成一些文件。然后在cmd命令行中执行:

allure serve 测试结果文件目录

这将生成漂亮的html报告。

allure与jenkins的集成

将allure与jenkins集成后,可以直接在jenkins上查看allure报告,并且可以查看历史构建记录,包括用例数的变化、通过率的变化、耗时的变化等。

集成步骤

  1. 在jenkins上安装allure插件:
  1. 在jenkins全局工具中配置allure命令行:
  • 在系统管理 -> 全局工具配置中配置allure和jdk。
  1. 在Job中配置allure报告展示:
  • 将当前job的工作空间调整为pytest用例所在工程目录。
  • 在build中直接执行包含pytest生成allure报告的命令。

配置完成后,立即构建此工程。连续构建几次后,有了历史记录,就可以查看详细的allure报告了。


总结

本文详细介绍了如何使用pytest、allure和jenkins构建一个持续集成环境。通过pytest编写测试用例,使用allure生成美观的测试报告,并通过jenkins实现自动化构建和报告展示。这些工具的结合使用,能够显著提高软件开发过程中的测试效率和质量。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号