先看一下项目目录
关于allure安装参考该博客:allure安装
Allure介绍
- Environment(环境)
在Allure报告中添加环境信息,通过创建environment.properties或者environment.xml文件,并把文件存放到allure-results目录下
environment.properties
Browser=Chrome
Browser.Version=63.0
Stand=Production
python.Version=3.6
或者environment.xml
<environment>
<parameter>
<key>Browser</key>
<value>Chrome</value>
</parameter>
<parameter>
<key>Browser.Version</key>
<value>63.0</value>
</parameter>
<parameter>
<key>Stand</key>
<value>Production</value>
</parameter>
<parameter>
<key>ApiUrl</key>
<value>127.0.0.1/login</value>
</parameter>
<parameter>
<key>python.Version</key>
<value>3.6</value>
</parameter>
</environment>
运行run之后的效果
- Categories(分类目录)
测试报告默认统计两种类型的测试用例结果,失败的用例和故障测试用例,我们可以自定义添加用例的统计类型,同样需要在allure-results目录下新建categories.json文件
[
{
"name": "Ignored tests",
"matchedStatuses": ["skipped"]
},
{
"name": "Infrastructure problems",
"matchedStatuses": ["broken", "failed"],
"messageRegex": ".*bye-bye.*"
},
{
"name": "Outdated tests",
"matchedStatuses": ["broken"],
"traceRegex": ".*FileNotFoundException.*"
},
{
"name": "Product defects",
"matchedStatuses": ["failed"]
},
{
"name": "Test defects",
"matchedStatuses": ["broken"]
}
]
name:(必填)类别名称
matchedStatuses:(可选)合适的测试状态列表。默认["failed", "broken", "passed", "skipped", "unknown"]
messageRegex:(可选)用于检查测试错误消息的正则表达式模式。默认".*"
traceRegex:(可选)正则表达式模式以检查堆栈跟踪。默认".*"
运行run之后的效果
- allure装饰器的介绍
使用方法 | 参数值 | 参数说明 |
---|---|---|
@alllure.epic() | epic描述 | 项目描述,往下是feature |
@allure.feature() | 模块名称 | 功能点的描述,往下是story |
@allure.story() | 用户故事 | 用户故事,往下是title |
@allure.title() | 用例的标题 | 重命名HTML报告的名称 |
@allure.testcase() | 测试用例的链接地址 | 对应测试用例系统里面的case |
@allure.issue() | 缺陷 | 对应缺陷管理系统里面的链接 |
@allure.description() | 用例描述 | 测试用例的描述 |
@allure.step() | 操作步骤 | 测试用例的步骤 |
@allure.severity() | 用例等级 | blocker、critical、normal、minor、trivial |
@allure.link() | 链接 | 定义一个链接,在测试报告展示 |
@allure.attachment() | 附件 | 报告添加附件 |
- 命令释义
pytest.main(['-vs','./test_case','--alluredir','./temp'])
os.system("allure generate ./temp --clean allure-results -o report")
'--alluredir','./temp':生成json格式的临时报告
allure generate:固定的,使用generate命令导出HTML报告到新的目录
./temp:临时的json格式报告的路径
-0 :输出 output,指定生成报告的文件夹
/report:生成的 allure报告的路径
-clarn : 清空 report路径原来的报告
如果在pytest.ini文件中配置了alluredir ,命令中就可以不用写,如下
pytest.main(['-vs','./test_case',])
os.system("allure generate ./temp --clean allure-results -o report")
pytest.ini文件内容:
[pytest]
addopts = -vs --alluredir ./temp
testpaths = ./
python_files = test_*.py
python_classes = Test*
python_functions = test*
参考博客:https://www.cnblogs.com/linuxchao/p/linuxchao-pytest-allure.html