Порядок выполнения тестов в Cucumber - PullRequest
0 голосов
/ 08 марта 2019

Ниже приведена структура, в которой разделены мои файлы функций. Я создал папки на основе функциональных возможностей, а затем добавил сценарии внутри них. Теперь я должен пометить несколько тестовых случаев среди них как Smoke Test case и выполнить их. Дело в том, что мне нужен конкретный заказ для этого, например, в

Add Asset
Run Test
Schedule Test
Delete Asset

Так как я сначала добавлю что-то, а затем поработаю над этим и удалю в конце

enter image description here

Я знаю, что по умолчанию Cucumber выполняет тесты в алфавитном порядке, но это не решило бы мою проблему. Как я могу этого достичь? Я использую Java

Ответы [ 2 ]

0 голосов
/ 09 марта 2019

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

со сценарием QAF в DeleteAssets.feature может выглядеть следующим образом:

 @priority:100
 #or you can set dependencies like below
 #@dependsOnGroups:['create','schedule']
 @delete @otherGroup
 Scenario: Delete existing Asset
    Given ...

Примечание : синтаксис gherkin не делает 't поддерживает метаданные, поэтому вам нужно использовать синтаксис qaf bdd или bdd2 и соответствующую фабрику для запуска тестов.

0 голосов
/ 08 марта 2019

Функции / сценарии огурца выполняются в алфавитном порядке по имени файла объектов.

Однако, если вы специально укажете функции, они должны выполняться в том порядке, в котором они были объявлены.Например:

@Cucumber.Options(features={"automatedTestingServices.feature", "smoketest.feature"})
...