allure-pytest:如何阻止同一测试的多次运行显示为重试

问题描述 投票:0回答:1

我有一个脚本,可以在应用程序上运行相同的测试集,但每次运行的应用程序参数都不同。例如,应用程序以 FS=44100、BS=64 运行,并使用这些参数集在应用程序上执行测试。测试将完成并生成报告文件。然后,应用程序将以 FS=96000、BS=128(即不同的参数)运行。将运行相同的一组测试并生成报告文件。

现在从 pytests 的角度来看,由于同一组测试已运行两次且没有参数更改,因此在生成 allure 报告时,测试将被计为重试。然而,我希望它们作为单独的测试出现。

有办法做到这一点吗?

我尝试设置 Allure.suites 变量,但生成报告时,它只是根据上次运行的测试的参数对测试进行分组,其他测试显示为重试。

Current output

pytestmark = [allure.parent_suite("test_delay")
             ,allure.suite(f"FS={get_sample_rate()}")
             ,allure.sub_suite(f"blockSize={get_block_size()}")]

我希望它是这样的:

test_file_name
   |__ 44100
   |     |__ 64
   |         |___ test1
   |         |___ test2
   |
   |__ 96000
         |__ 128
             |___ test1
             |___ test2

我也见过allure中的

update_test_case
,但是它需要传递一个UUID,而且我不知道这个UUID从哪里来。我也不认为这是公共 API 的一部分。

lifecycle = AllureLifecycle()
with lifecycle.update_test_case(????) as test_result:
    test_result.labels.append(Label(name=LabelType.PARENT_SUITE, value="ParentName"))

有没有办法关闭重试?或者设置什么诱惑力决定重试?

提前致谢。

python pytest allure
1个回答
0
投票

我也有类似的问题,目前还没找到解决办法。

你能解决这个问题吗?

© www.soinside.com 2019 - 2024. All rights reserved.