Есть ли способ заставить Robot Framework запускать наборы тестов в определенном порядке?

Предположим, у меня есть 2 набора тестов в локальном каталоге, foo и bar, и я хочу запустить набор тестов в порядке foo then bar.

Я пытался бежать pybot -s foo -s bar ., но тогда он просто идет и запускает бар, а затем foo (т. е. в алфавитном порядке).

есть ли способ заставить pybot запускать наборы Robot framework для выполнения в том порядке, который я определяю?

4 ответов


Robot framework может использовать файлы аргумент который можно использовать для указания порядка выполнения (docs):

Это из старых документов (больше не в сети):

другим важным использованием для файлов аргументов является указание входных файлов или каталогов в определенном порядке. Это может быть очень полезно, если алфавитный порядок выполнения по умолчанию не подходит:

в принципе, вы создаете что-то подобное для запуска скрипт.

--name My Example Tests
tests/some_tests.html
tests/second.html
tests/more/tests.html
tests/more/another.html
tests/even_more_tests.html

есть удобная функция из аргумент вы можете назвать другую аргумент это может переопределить ранее установленные параметры. Выполнение рекурсивно, поэтому вы можете вложить столько файлов аргументов, сколько вам нужно

другой вариант-использовать сценарий запуска. Чем вам приходится иметь дело с другими аспектами, такими как операционная система, в которой вы запускаете тест. Вы также можете использовать python для запуска скрипта на нескольких платформах. В этом разделе docs


Если в каталоге RF есть несколько файлов тестовых наборов, порядок выполнения можно указать, указав номера в качестве префиксов для имен тестовых наборов, например.

01__my_suite.HTML-код -> мой номер 02__другое_люкс.HTML-код -> Люкс

такие префиксы не включаются в сгенерированное имя набора тестов, если они отделены от базового имени набора двумя подчеркиваниями:

Подробнее здесь.

http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#execution-order


можно использовать тегов.

- тег тесты фу и бар таким образом, вы можете запускать каждый тест отдельно:

pybot -i foo tests

или

pybot -i bar tests

и определить порядок

pybot -i bar tests || pybot -i foo tests

или в скрипте.

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


может ли что-то подобное быть полезным?

pybot tests/test1.txt tests/test2.txt

Итак, чтобы обратить вспять:

pybot tests/test2.txt tests/test1.txt