目录
1、清空报告历史记录
现象:
1、当第一次运行测试用例生成 allure 报告,之后将测试用例名称修改再次运行,此时报告历史会显示历史运行记录(包含第一次执行结果)。
2、分开运行2个测试用例,先运行第1个测试用例生成 allure 报告,之后运行第二个测试用例,此时生成的 allure 报告会同时显示2个测试用例运行记录(包含第1个测试用例执行结果)。
示例,目录结构:
示例一(修改测试用例名称):
1、创建test_allure_case1.py文件
脚本代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
微信公众号:AllTests软件测试
"""
# 修改前
def test_1():
print("测试用例 test_1")
def test_2():
print("测试用例 test_2")
2、输入命令运行:
pytest test_allure_case1.py --alluredir=./allure
allure serve allure
如图所示:运行2条测试用例,显示2条记录
3、修改test_allure_case1.py文件
脚本代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
微信公众号:AllTests软件测试
"""
# 修改后
def test_11():
print("测试用例 test_11")
def test_22():
print("测试用例 test_22")
4、再次输入命令运行:
pytest test_allure_case1.py --alluredir=./allure
allure serve allure
如图所示:运行2条测试用例,但显示4条记录(包含修改前的2条记录)
示例二(分开运行测试用例):
将之前运行测试用例生成的allure报告目录删除
1、再次修改test_allure_case1.py文件
脚本代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
微信公众号:AllTests软件测试
"""
# 修改前
def test_1():
print("测试用例 test_1")
def test_2():
print("测试用例 test_2")
2、创建test_allure_case2.py文件
脚本代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
微信公众号:AllTests软件测试
"""
def test_1():
print("测试用例 test_1")
def test_2():
print("测试用例 test_2")
3、依次运行test_allure_case1.py、test_allure_case2.py文件
(1)先运行第1个测试用例test_allure_case1.py
pytest test_allure_case1.py --alluredir=./allure
(2)再运行第2个测试用例test_allure_case2.py
pytest test_allure_case2.py --alluredir=./allure
(3)打开报告服务
allure serve allure
如图所示:4条测试用例都显示出来了(包含第1次执行的测试用例记录)
思考:如果只想显示最后一次的报告记录,之前执行的记录不想显示,该如何解决呢?
解决办法:
--clean-alluredir 参数,可以清空 allure 报告生成的目录。
还是以示例二的脚本,将之前运行测试用例生成的 allure 报告目录删除,依次运行test_allure_case1.py、test_allure_case2.py文件。
(1)先运行第1个测试用例test_allure_case1.py
pytest test_allure_case1.py --alluredir=./allure
(2)再运行第2个,此时希望allure报告只有test_allure_case2.py的测试用例记录
pytest test_allure_case2.py --alluredir=./allure --clean-alluredir
(3)打开报告服务
allure serve allure
如图所示:只有test_allure_case2.py的测试用例记录
2、allure命令
查看 allure 命令帮助文档,命令行输入 allure -h
语法格式:
allure [options] [command] [command options]
Options:
-
--help
打印命令行帮助。
-
-q, --quiet
切换至安静模式。
Default: false
-
-v, --verbose
切换至详细模式。
Default: false
-
--version
打印命令行版本。
Default: false
Commands:
-
generate 生成 allure 报告。
-
serve 启动 allure 服务,打开 allure 报告。
-
open 打开 generate 命令生成的 allure 报告。
-
plugin 使用插件生成报告。
2.1、命令参数
2.1.1、generate
作用:生成allure报告。
语法格式:
allure generate [options]
options选项:
-
-c, --clean
在生成新的报告之前,删除 allure 报告目录。
Default: false
-
--config
allure 命令行配置路径,如果指定会覆盖 --profile 和 --configDirectory。
-
--configDirectory
命令行配置目录,默认使用 ALLURE_HOME 目录。
-
--profile
命令行配置文件。
-
-o, --report-dir, --output
生成 allure 报告的目录,默认:执行命令指定当前目录下的 allure-report,没有目录则自动生成。
Default: allure-report
例如:执行命令生成报告
allure generate -c -o=./allure-report
生成allure-report报告目录
2.1.2、serve
作用:启动 allure 服务,打开 allure 报告。
语法格式:
allure serve [options] allure报告目录
options选项
-
--config
allure 命令行配置路径,如果指定会覆盖 --profile 和 --configDirectory。
-
--configDirectory
命令行配置目录,默认使用 ALLURE_HOME 目录。
-
--profile
命令行配置文件。
-
-h, --host
该 host 将用于启动报告的 web 服务器。
-
-p, --port
该 port 将用于启动报告的 web 服务器。
Default: 0
例如:执行命令,先用pytest命令指定allure结果目录,之后再打开报告。
pytest --alluredir=./allure-report
allure serve ./allure-report
执行完成后,浏览器自动打开报告
2.1.3、open
作用:打开 generate 命令生成的 allure 报告。
语法格式:
allure open [options]
options选项:
-
-h, --host
该 host 将用于启动报告的 web 服务器。
-
-p, --port
该 port 将用于启动报告的 web 服务器。
Default: 0
例如:执行命令,先用generate命令生成报告,之后再打开报告
allure generate -c -o=./allure-report
allure open
执行完成后,浏览器自动打开报告
2.2、打开报告方式
方式一:allure serve
执行命令,先用pytest命令指定allure结果目录,之后再打开报告
pytest --alluredir=./allure
allure serve ./allure
生成的allure报告目录结构
方式二(推荐):allure generate + allure open
执行命令,先用pytest命令指定allure结果目录,再用generate命令生成allure的html报告,最后再打开报告
pytest --alluredir=./allure
allure generate -c -o=./allure-report ./allure
allure open ./allure-report
生成的allure-report报告目录结构
优点:
1、目录结构清晰明了
2、直接打开index.html文件就可以查看allure报告