Python测试框架pytest(27)测试报告Allure - 清空报告历史记录、allure命令

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报告

 

posted @ 2021-11-03 15:19  AllTests软件测试  阅读(225)  评论(0)    收藏  举报