自动化测试 Pytest+Allure+Jenkins 持续集成(超详细)
自动化测试 Pytest+Allure+Jenkins 持续集成(超详细)
在软件开发领域,持续集成(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提供了多种平台的命令行安装方式。以下是手动安装步骤,适用于所有平台:
- 安装Java:Allure需要Java环境才能运行。如果还没有安装Java,先下载并安装Java。
- 下载Allure:从Allure官网下载最新版本的Allure压缩包,例如allure-commandline-2.13.0.zip。
- 解压Allure:将下载的Allure压缩包解压到想要安装的目录下。
- 配置环境变量:将Allure的bin目录添加到系统PATH环境变量中。例如,假设将Allure解压缩到了C:\Program Files\allure-2.13.0目录下,那么需要把C:\Program Files\allure-2.13.0\bin目录添加到PATH环境变量中。
- 验证安装:打开命令行终端,输入“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报告,并且可以查看历史构建记录,包括用例数的变化、通过率的变化、耗时的变化等。
集成步骤
- 在jenkins上安装allure插件:
- 去jenkins插件网站下载allure插件最新版本:http://mirrors.jenkins-ci.org/plugins/allure-jenkins-plugin/
- 打开jenkins,在系统管理 -> 插件管理 -> Advanced -> Upload Plugin
- 上传.phi格式的插件,点击[上传]操作。
- 在jenkins全局工具中配置allure命令行:
- 在系统管理 -> 全局工具配置中配置allure和jdk。
- 在Job中配置allure报告展示:
- 将当前job的工作空间调整为pytest用例所在工程目录。
- 在build中直接执行包含pytest生成allure报告的命令。
配置完成后,立即构建此工程。连续构建几次后,有了历史记录,就可以查看详细的allure报告了。
总结
本文详细介绍了如何使用pytest、allure和jenkins构建一个持续集成环境。通过pytest编写测试用例,使用allure生成美观的测试报告,并通过jenkins实现自动化构建和报告展示。这些工具的结合使用,能够显著提高软件开发过程中的测试效率和质量。