Выполнять только конкретные примеры в схеме сценария

#java #cucumber #cucumber-jvm

#java #огурец #cucumber-jvm

Вопрос:

Мы стремимся улучшить управление тестовыми данными с помощью Cucumber в нашей платформе автоматизации тестирования Java. Для Scenario Outline мы хотим свести в таблицу параметры теста, классифицированные по применимой среде, в которой они будут выполняться. Например,

 Scenario Outline: Login into application
Given I am on the homepage in the <environment>
When I enter my <user>
And I enter my <pass>
Then I am taken to the homepage
Examples:
|user    |pass     |environment|
|test    |test1    |local      |
|retest  |retest1  |sit        |
|prodtest|prodtest1|production |
  

Итак, когда приведенный выше сценарий выполняется, например, в среде SIT, будет выбран только 2-й пример, а не первый и третий.

Может ли быть достигнут этот уровень выполнения?

Ответ №1:

Вы можете сделать это, разделив таблицу примеров на две части и используя теги в них… Затем запустите тест с тегами для фильтрации в cucumberoptions.

 @others
Examples:
|user    |pass     |environment|
|test    |test1    |local      |
|prodtest|prodtest1|production |

@sit
Examples:
|user    |pass     |environment|
|retest  |retest1  |sit        |
  

Комментарии:

1. Интересно. Я не знал, что @tags можно применять и к примерам. Я попробую это. Если это сработает, это должно решить мой вопрос. Большое спасибо!

2. Кроме того, нужно ли помечать сценарий как «другие» и «сидеть», или таблица примеров с тегами позаботится о выборе подходящего сценария для выполнения?

3. Просто используйте теги в таблицах примеров. Cucumber должен выполнить остальную часть подбора соответствующих тегов.

4. Хороший улов! обычно использую cucumber-jvm и не знал этого 🙂

5. В какой версии cucumber-jvm это поддерживается?

Ответ №2:

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

Комментарии:

1. Тогда это не совсем соответствует парадигме D-R-Y 🙂

2. Обычно в Cucumber у вас не будет технических деталей, таких как среда, в ваших тестовых примерах. Схемы сценариев предназначены для запуска всего в таблице, и в этом смысле это СУХО.