目录
3、持续集成 Jenkins 构建 Allure Report
3.1 安装插件 allure-jenkins-plugin
2 Jenkins中执行python命令,出现python不是内部命令的问题
3 allure-result 不存在,allure报告数据为空
1、Allure简介
Allure是一款非常轻量级并且非常灵活的开源测试报告生成框架。 它支持绝大多数测试框架, 例如TestNG、Pytest、JUint等。它简单易用,易于集成。下面就Pytest如何与Allure集成做详细介绍。
2、Pytest框架集成Allure
Pytest是Python的单元测试框架,非常方便和易用。强烈推荐对于用Python进行测试工作的小伙伴使用这个测试框架,相比与Python自带的UnitTest好用太多太多。今天我们主要是介绍如何将测试报告生成工具Allure集成到Pytest中。目前现在已经有allure2了,我们要使用的就是这个allure2。
2.1 环境配置
a、因为allure2需要在java的环境下,并且要求必须是jdk1.8级以上,所以要首先保证这一点。
b、安装allure-pytest,他用来在pytest执行测试结束后生成allure所需要的配置信息。安装使用pip命令即可:
安装Python依赖库:
pip3 install allure-pytest
注意:我看到许多教程是让安装 pytest-allure-adaptor 的,我刚开始也是安装的它,但是使用的时候出了错。查了解决方法就是卸掉pytest-allure-adaptor,安装allure-pytest。后来了解到官方已经放弃维护pytest-allure-adaptor~
c、下载allure2:https://github.com/allure-framework/allure2/releases,我们下载的是allure-2.8.0版本;下载后解压,放在某个位置(建议放在C:\python35\Lib\site-packages下);配置环境变量:环境变量path中加上解压好的文件夹下的bin目录下的allure.bat文件的路径(这里是:C:\python35\Lib\site-packages\allure-2.8.0\bin)
2.2 生成html报告
if __name__=="__main__":
pytest.main(['-s','-q','--alluredir','report/result','test_Pytest.py'])
os.system("C:/python35/Lib/site-packages/allure-2.8.0/bin/allure.bat "
"generate "
"F:/pycharm_workspace/FirstApplication/testPytest/report/result "
"-o "
"F:/pycharm_workspace/FirstApplication/testPytest/report/html")
2.2.1 pytest命令基础上加--alluredir,生成测试数据
pytest命令基础上加--alluredir,生成测试数据。(测试脚本中添加了Allure特性之后,在执行测试的时候需要先生成Allure报告所需要的测试结果数据。在py.test执行测试的时候,指定–alluredir选项及测试数据保存的目录即可)
pytest -s -q --alluredir [xml_report_path]
//[xml_report_path]根据自己需要定义文件夹,作者定义为:/report/result
例子:
#test_Pytest.py文件
#coding=utf-8
import pytest
import os
class Test_Pytest():
def test_one(self):
print("test_one方法执行" )
assert 1==1
def test_two(self):
print("test_two方法执行" )
assert "s" in "love"
def test_three(self):
print("test_three方法执行" )
assert 3-2==1
if __name__=="__main__":
pytest.main(['-s','-q','--alluredir','report/result','test_Pytest.py'])
运行结果:
2.2.2 命令行方式
第一步:用命令行或os模块运行allure命令,来生成html格式的报告(通过下面的命令将./result/目录下的测试数据生成测试报告)。
命令如下:(因为我们已经将allure.bat放在环境变量中,所以在哪里打开cmd窗口都可以找到allure/allure.bat)
allure generate 配置信息的路径 -o 生成报告的路径
allure generate ./result/ -o ./report/html --clean
这样在./report/目录下就生成了Allure的测试报告了。–clean目的是先清空测试报告目录,再生成新的测试报告
第二步:打开/report/html,下面的index.html