2016-12-06 16 views
0

Так что мне нужно создать отчет Allure с помощью pytest с junit xml-файлом. Я вызываю pytest.main() из моего файла test_config.py для запуска различных типов тестовых ящиков в разных папках.Есть ли способ хранить файлы даже при использовании --alluredir

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().

Благодарим за ваше время, это очень ценится!

ответ

0

Allure может сделать один отчет из нескольких результатов теста.

Адаптер py.test allure очищает каталог результатов перед запуском.

Таким образом, вам нужно собирать результаты в разных каталогах и после этого помещать их в один каталог до создания отчета.

Но по этой причине должны быть разные комплекты тестовых случаев.

+0

Спасибо, вот что я понял. Но я не размещал их все в одном каталоге, я просто позволяю allure искать все .xml файлы testresult и помещать их все в окончательный отчет. – shujin

 Смежные вопросы

  • Нет связанных вопросов^_^