我有一个脚本,可以在应用程序上运行相同的测试集,但每次运行的应用程序参数都不同。例如,应用程序以 FS=44100、BS=64 运行,并使用这些参数集在应用程序上执行测试。测试将完成并生成报告文件。然后,应用程序将以 FS=96000、BS=128(即不同的参数)运行。将运行相同的一组测试并生成报告文件。
现在从 pytests 的角度来看,由于同一组测试已运行两次且没有参数更改,因此在生成 allure 报告时,测试将被计为重试。然而,我希望它们作为单独的测试出现。
有办法做到这一点吗?
我尝试设置 Allure.suites 变量,但生成报告时,它只是根据上次运行的测试的参数对测试进行分组,其他测试显示为重试。
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"))
有没有办法关闭重试?或者设置什么诱惑力决定重试?
提前致谢。
我也有类似的问题,目前还没找到解决办法。
你能解决这个问题吗?