前言
pytest框架
pytest可以高效地编写和运行各种类型的单元测试、功能测试和端到端测试。可以轻松编写清晰、模块化的测试代码,并能够自定义测试规则和测试报告。
同时,pytest还支持多线程执行测试用例,提高了测试速度和效率。总之,pytest是一个非常强大的测试框架,被广泛应用于Python项目的测试工作中。
allure框架
现在有非常多的优秀的测试框架,但却是有非常少优秀的报告工具可以展示非常清楚的用例执行过程和结果。
allure是一款开源的,专门用来展示测试结果的工具,目的是希望团队内部每一个人都可以看到非常清楚的测试结果。
allure可以与非常多的著名测试框架做集成。
python语言,可以与pytest,behave,nose测试框架集成。
java语言,可以与junit4,junit5,TestNG测试框架集成。
allure会将测试用例的执行数据保存到xml文件当中,再利用allure的命令行将文件转换成html形式呈现出来。
allure的官方地址:Allure Report Docs — Documentation Overview
安装allure
官网提供了每个平台的,命令行安装方式。
以下是手动安装方式,适用于各平台:
1、安装Java:Allure需要Java环境才能运行。如果还没有安装Java,先下载并安装Java。
2、下载Allure:从Allure官网:Allure Report Docs — Documentation Overview
3、下载最新的Allure压缩包,例如allure-commandline-2.13.0.zip。
4、解压Allure:将下载的Allure压缩包解压到想要安装的目录下。
5、配置环境变量:将Allure的bin目录添加到系统PATH环境变量中。例如,假设将Allure解压缩到了C:\Program Files\allure-2.13.0目录下,那么需要把C:\Program Files\allure-2.13.0\bin目录添加到PATH环境变量中。
6、验证安装:打开命令行终端,输入“allure --version”命令,如果显示出Allure的版本信息,则说明Allure已经成功安装。
allure与pytest的集成
在allure安装完成之后,需要与pytest集成,能够在pytest运行完成之后,生成allure的文件 。
安装pytest的allure支撑插件。
pip命令行:
pip install allure-pytest
在执行pytest命令时,添加allure命令参数:—alluredir=Outputs/allure (相对于pytest命令所在目录的测试报告目录)
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的构建记录都存在,所以可以看到历史构建曲线图,用例数的变化、通过率的变化、耗时的变化等均可查看到。
集成步骤如下:
1、在jenkins上安装allure插件。
去jenkins插件网站上下载allure插件最新版本:
http://mirrors.jenkins-ci.org/plugins/allure-jenkins-plugin/
打开jenkins,在系统管理 —> 插件管理 —>Advanced —> Upload Plugin
上传.phi格式的插件,点击[上传]操作。
会自动跳转到以下页面。此处黄色球的提醒是指:此插件已经安装了,jenkins需要重启使此更新生效。
若是第一次安装,应该是蓝色球。
可将jenkins服务重新重启,使安装的插件生效。
2、在jenkins 全局工具当中配置allure命令行。
在 系统管理 —> 全局工具配置 —> 当中做以下配置(allure和jdk),配置完并保存:
3、在Job当中,配置allure报告展示:
针对以上,对job做了以下调整:
将当前job的工作空间调整为,pytest用例所在工程目录:
在build当中,直接执行1中目录下的python文件(包含了pytest生成allure报告的命令)
配置完成之后,立即构建此工程。连续构建几次,有了历史记录之后
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!