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

时间:2016-12-06 16:32:30

标签: python junit pytest allure

所以我必须使用带有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选项来创建一个供Allure使用的XML文件。如果可能的话,我希望有不同的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()一次。

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

1 个答案:

答案 0 :(得分:0)

Allure可以从一些测试结果中做出一份报告。

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

所以你必须在不同的目录中收集结果,然后在生成报告之前将它们放入一个目录中。

但原因应该是不同的测试用例集。