前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python测试框架pytest(27)测试报告Allure - 清空报告历史记录、allure命令

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

作者头像
wangmcn
发布2022-07-26 14:40:04
9980
发布2022-07-26 14:40:04
举报
文章被收录于专栏:AllTests软件测试

Python测试框架pytest(27)

测试报告Allure

清空报告历史记录、allure命令

目录

  • 1、清空报告历史记录
  • 2、allure命令
    • 2.1、命令参数
      • 2.1.1、generate
      • 2.1.2、serve
      • 2.1.3、open
    • 2.2、打开报告方式

1、清空报告历史记录

现象:

1、当第一次运行测试用例生成 allure 报告,之后将测试用例名称修改再次运行,此时报告历史会显示历史运行记录(包含第一次执行结果)。

2、分开运行2个测试用例,先运行第1个测试用例生成 allure 报告,之后运行第二个测试用例,此时生成的 allure 报告会同时显示2个测试用例运行记录(包含第1个测试用例执行结果)。

示例,目录结构:

示例一(修改测试用例名称):

1、创建test_allure_case1.py文件

脚本代码:

代码语言:javascript
复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
微信公众号:AllTests软件测试
"""

# 修改前
def test_1():
    print("测试用例 test_1")

def test_2():
    print("测试用例 test_2")

2、输入命令运行:

代码语言:javascript
复制
pytest test_allure_case1.py --alluredir=./allure
allure serve allure

如图所示:运行2条测试用例,显示2条记录

3、修改test_allure_case1.py文件

脚本代码:

代码语言:javascript
复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
微信公众号:AllTests软件测试
"""

# 修改后
def test_11():
    print("测试用例 test_11")

def test_22():
    print("测试用例 test_22")

4、再次输入命令运行:

代码语言:javascript
复制
pytest test_allure_case1.py --alluredir=./allure
allure serve allure

如图所示:运行2条测试用例,但显示4条记录(包含修改前的2条记录)

示例二(分开运行测试用例):

将之前运行测试用例生成的allure报告目录删除

1、再次修改test_allure_case1.py文件

脚本代码:

代码语言:javascript
复制
#!/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文件

脚本代码:

代码语言:javascript
复制
#!/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文件

代码语言:javascript
复制
(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文件。

代码语言:javascript
复制
(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

例如:执行命令生成报告

代码语言:javascript
复制
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结果目录,之后再打开报告。

代码语言:javascript
复制
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命令生成报告,之后再打开报告

代码语言:javascript
复制
allure generate -c -o=./allure-report
allure open

执行完成后,浏览器自动打开报告

2.2、打开报告方式

方式一:allure serve

执行命令,先用pytest命令指定allure结果目录,之后再打开报告

代码语言:javascript
复制
pytest --alluredir=./allure
allure serve ./allure

生成的allure报告目录结构

方式二(推荐):allure generate + allure open

执行命令,先用pytest命令指定allure结果目录,再用generate命令生成allure的html报告,最后再打开报告

代码语言:javascript
复制
pytest --alluredir=./allure
allure generate -c -o=./allure-report ./allure
allure open ./allure-report

生成的allure-report报告目录结构

优点:

1、目录结构清晰明了

2、直接打开index.html文件就可以查看allure报告

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AllTests软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 2.1、命令参数
  • 2.2、打开报告方式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档