领取资料,咨询答疑,请➕wei: June__Go
上一小节我们学习了pytest-html生成html报告的方法,本小节我们讲解一下使用allue2生成html报告。
自动化测试执行完成后我们需要展示给其他人看,这就要有自动化测试报告了。复杂的测试报告当然可以自己代码实现,但用pytest-html或allure基本也能满足我们生成测试报告的要求了。本小节介绍allure2的使用。
allure是一款开源的,专门用来展示测试结果的一个工具,它可以与很多的测试框架做集成,比如java的Junit、TestNG,python的pytest等。allure会将测试用例的执行数据保存到xml文件中去,再利用allure的命令行将文件转换成HTML形式呈现出来。
安装allure
1、allure包下载:Central Repository: io/qameta/allure/allure-commandline
2、解压 -> 进入bin目录 -> 运行allure.bat
3、把bin目录加入PATH环境变量
4、检查allure是否安装成功 ,cmd中执行如下命令 allure
上图中表示java没有安装,因为allure工具是java开发的,需提前安装java环境。
jdk下载地址:Java Downloads | Oracle
安装jdk
配置java环境变量
在系统变量下面找到新建,填写变量名:JAVA_HOME,变量值:C:\Program Files\Java\jdk1.8.0_152(即Jdk的安装路径)
编辑Path变量选中系统变量中的Path变量,点击编辑--新建--输入%JAVA_HOME%\bin(建议直接复制粘贴,以免出错)--确定--确定--确定
%JAVA_HOME%\bin
验证JDK是否配置成功,cmd执行命令 java
上图代表java已安装成功。cmd中执行再次如下命令 allure
上图代表allure工具已经安装成功了!
安装 allure-pytest插件
pip install allure-pytest
成功安装
生成Allure报告
先准备一个简单的执行脚本
import pytest
def fun(x):
return x + 1
def test_answer_1():
"""测试断言一"""
assert fun(3) == 4
def test_answer_2():
"""测试断言二"""
assert fun(5) == 7
@pytest.mark.parametrize("test_input,expected", [
("3+5", 8),
("2+4", 6),
pytest.param("6 * 9", 42, marks=pytest.mark.xfail),
pytest.param("6 * 6", 42, marks=pytest.mark.skip)
])
def test_mark(test_input, expected):
"""用例集合"""
assert eval(test_input) == expected
运行命令:
pytest [测试文件] -s -q --alluredir=./result #--alluredir用于指定存储测试结果的路径)
示例:pytest test_demo.py -s -q --alluredir=./result
在当前result目录下生成报告结果文件
查看测试报告
方式一:直接打开默认浏览器展示报告
终端执行:allure serve ./result/
自动弹出html报告
方式二:从结果生成报告
生成报告数据:pytest test_demo.py -s -q --alluredir=./result
生成报告allure generate ./result/ -o ./report/ --clean (覆盖路径加--clean)
打开报告allure open -h 127.0.0.1 -p 8883 ./report/
allure报告定制
定制报告的内容非常丰富,后面会在单独的allure报告合集中详细介绍,各位尽请期待!
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走,希望可以帮助到大家!领取资料,咨询答疑,请➕wei: June__Go