Надеюсь, я могу объяснить свою проблему достаточно ясно, чтобы другие поняли, здесь мы идем, представьте, что у меня есть два следующих гипотетических сценария:
Scenario: Filter sweets by king size and nut content
Given I am on the "Sweet/List" Page
When I filter sweets by
| Field | Value |
| Filter.KingSize | True |
| Filter.ContainsNuts | False |
Then I should see :
| Value |
| Yorkie King Size |
| Mars King Size |
Scenario: Filter sweets by make
Given I am on the "Sweet/List" Page
When I filter sweets by
| Field | Value |
| Filter.Make | Haribo |
Then I should see :
| Value |
| Starmix |
Эти сценарии полезны, потому что я могу добавить столько строк, когда строки полей/значений и затем значения, как мне нравится, без изменения связанных скомпилированных этапов тестирования. Однако сценарии копирования/вставки для различных тестов фильтров станут повторяющимися и потребуют много кода - чего бы я хотел избежать. В идеале я хотел бы создать схему сценария и сохранить динамический характер, который у меня есть с вышеприведенными тестами, однако, когда я пытаюсь сделать это, я столкнулся с проблемой, определяющей таблицу примеров, я не могу добавить новые строки, как я считаю нужным, потому что это будет новый тестовый экземпляр, в настоящее время у меня есть это:
Scenario Outline: Filter Sweets
Given I am on the <page> Page
When I filter chocolates by
| Field | Value |
| <filter> | <value> |
Then I should see :
| Output |
| <output> |
Examples:
| page | filter | value | output |
| Sweet/List | Filter.Make | Haribo | Starmix |
Итак, у меня проблема с возможностью динамического добавления строк в мой фильтр и ожидаемых данных при использовании контура сценария, кто-нибудь знает об этом? Должен ли я приближаться к этому под другим углом?
Обходной путь может быть примерно таким:
Then I should see :
| Output |
| <x> |
| <y> |
| <z> |
Examples:
| x | y | z |
Но это не очень динамично.... надеясь на лучшее решение?:)