目录:导读
前言
Allure测试报告框架帮助你轻松实现 “高大上” 报告展示。
重点展示了如何将Allure集成到已有的自动化测试工程中、以及如何实现报表的优化展示。
Allure非常强大,支持多种语言多种测试框架,无论是Java/Python还是Junit/TestNG,其他语言或者框架实现的流程和本文一致,具体配置参照各语言框架规范
安装
Windows用户:
scoop install allure (需要先下载并安装Scoop,该方法无需配置环境变量)
MAC用户:
通过Homebrew进行自动安装
brew install allure (如果Homebrew版本比较旧,需要先升级Homebrew,否则安装的allure版本也很老,可能会与Python插件不兼容)
手动安装:
可以从官网 https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/ 手动下载
目前最新版本为2.23.1
下载后解压并配置环境变量
安装allure-pytest插件
pip install allure-pytest
allure常用特性
希望在报告中看到测试功能,子功能或场景,测试步骤,包括测试附加信息可以使用@feature,@story,@step,@attach
步骤:
import allure
功能上加@allure.feature(“功能名称”)
子功能上加@allure.story(“子功能名称”)
步骤上加@allure.step(“步骤细节”)
@allure.attach(“具体文本信息”),需要附加的信息,可以是数据,文本,图片,视频,网页
如果只测试部分功能运行的时候可以加限制过滤:
pytest 文件名 --allure-features “需要运行的功能名称”
1、allure特性—feature/story
@allure.feature与@allure.store的关系
feature相当于一个功能,一个大的模块,将case分类到某个feature中,报告中在behaviore中显示,相当于testsuite
story相当于对应这个功能或者模块下的不同场景,分支功能,属于feature之下的结构,报告在features中显示,相当于testcase
feature与story类似于父与子关系
2、step特性
测试过程中每个步骤,一般放在具体逻辑方法中
可以放在关键步骤中,在报告中显示
在app,web自动化测试中,建议每切换到一个新的页面当做一个step
用法:
@allure.step() 只能以装饰器的形式放在类或方法上面
with allure.step(): 可以放在测试用例方法里面,但测试步骤的代码需要被该语句包含
运行:
在测试执行期间收集结果
pytest [测试文件] -s -q --alluredir=./result --clean-alluredir
–alluredir这个选项,用于指定存储测试结果的路径
–clean-alluredir 这个选项用来清除之前生成的结果
查看测试报告
方法1:
测试完成后查看实际报告,在线看报告,会直接打开默认浏览器展示当前报告
allure serve ./result
方法2:
从结果生成报告,这是一个启动tomcat的服务,需要两个步骤
生成报告:
allure generate ./result -o ./report --clean
注意:–clean用来清除之前已生成的报告
打开报告:
allure open -h 127.0.0.1 -p 8883 ./report
该方法直接生成一个tomcat服务,可远程访问
举个例子:
有如下代码文件
import allure
import pytest
@allure.feature('登录模块')
class TestLogin():
@allure.story('登录成功')
@allure.title('登录成功标题')
def test_login_sucess(self):
with allure.step('步骤1:打开应用'):
print('应用已打开')
with allure.step('步骤2:进入登录页面'):
print