有没有办法在使用 --alluredir 时保留文件

Is there a way to keep files even when using --alluredir

所以我必须使用带有 junit xml 文件的 pytest 创建一个 Allure Report。我从 test_config.py 文件中调用 pytest.main() 以在不同文件夹中启动不同类型的测试用例。

def start_pytest(args):

if pytest.main(["-x", "--alluredir=%s" % allure_path, "--junitxml=%s" % junit_path, test_1]):
    sys.exit(1)

if args.test2 or args.all:
    pytest.main(["--alluredir=%s" % allure_path, "--junitxml=%s" % junit_path, test_2])

if args.test3 or args.all:
    pytest.main(["--alluredir=%s" % allure_path, "--junitxml=%s" % junit_path, test_3])

我想我需要 --alluredir=somepath 选项来创建一个 XML 文件供 Allure 使用。如果可能的话,我想要不同的 test_case.py 文件。现在的问题是,如果我在我的脚本中第二次或第三次使用--alluredir,报告目录将被清除:

py.test --alluredir [path_to_report_dir]
# WARNING [path_to_report_dir] will be purged at first run

来源:https://pypi.python.org/pypi/pytest-allure-adaptor

所以,有没有办法在第一次使用 --allurdir 时删除目录并在第二次和第三次时保留文件。或者我是否必须将所有测试用例写在一个文件中,这样我只需要调用一次 pytest.main() 。

感谢您的宝贵时间,非常感谢!

Allure 可以从多个测试结果中得出一份报告。

但是py.test allure 适配器在运行之前清除了结果目录。

因此您必须将结果收集到不同的目录中,然后将它们放在一个目录中才能生成报告。

但当然应该是不同的测试用例集。