天天看点

python清除历史记录_Pytest 系列(26)- 清空 allure 历史报告记录

如果你还想从头学起Pytest,可以看看这个系列的文章哦!

背景

pytest 运行 测试用例生成 allure 报告时,当测试用例名称修改后重新运行,会保留历史运行记录

又或者分开运行两个测试用例文件,但是 allure 报告生成目录是同一个,那么 allure 报告会同时显示两个文件的测试用例运行情况

咱们来看看这种情况

目录结构

下面两个栗子都是这个目录结构

python清除历史记录_Pytest 系列(26)- 清空 allure 历史报告记录

修改名称的栗子

test_1.py 的代码

#!/usr/bin/env python#-*- coding: utf-8 -*-

"""__title__ =

__Time__ = 2020/10/28 11:03

__Author__ = 小菠萝测试笔记

__Blog__ = https://www.cnblogs.com/poloyy/"""

deftest_1():print("test_1 文件的测试用例1")deftest_2():print("test_1 文件的测试用例2")

运行命令

进入该目录下,cmd 运行

pytet test_1.py --alluredir=./allure

allure 报告

python清除历史记录_Pytest 系列(26)- 清空 allure 历史报告记录

只有两条用例

修改后的 test_1.py 的代码

deftest_11():print("test_1 文件的测试用例1")deftest_22():print("test_1 文件的测试用例2")

再次运行命令,查看 allure 报告

python清除历史记录_Pytest 系列(26)- 清空 allure 历史报告记录

四条用例,包含了历史的两条,这不是我们希望看到的

分开运行测试用例文件的栗子

test_2.py 的代码

#!/usr/bin/env python#-*- coding: utf-8 -*-

"""__title__ =

__Time__ = 2020/10/28 11:03

__Author__ = 小菠萝测试笔记

__Blog__ = https://www.cnblogs.com/poloyy/"""

deftest_1():print("test_1 文件的测试用例1")deftest_2():print("test_1 文件的测试用例2")

分开运行 test_1 和 test_2 两个测试用例文件

#先运行第一个

pytet test_1.py --alluredir=./allure#再运行第二个,此时应该希望 allure 报告只有 test_2.py 的测试用例

pytet test_2.py --alluredir=./allure

查看 allure 报告

python清除历史记录_Pytest 系列(26)- 清空 allure 历史报告记录

出现了 test_1.py 的测试用例,这不是想要的结果

--clean-alluredir 参数

前言

pytest 提供了 --clean-alluredir 参数可以清空 allure 报告生成的目录

可以看看 pytest 的说明文档

pytest -h

python清除历史记录_Pytest 系列(26)- 清空 allure 历史报告记录

将上面的栗子重新运行

#先运行第一个

pytet test_1.py --alluredir=./allure#再运行第二个,此时应该希望 allure 报告只有 test_2.py 的测试用例

pytet test_2.py --alluredir=./allure --clean-alluredir

运行结果

python清除历史记录_Pytest 系列(26)- 清空 allure 历史报告记录