@BrettVeenstra Ах, это круто ... спасибо, что поделились! :)
сь, я смогу объяснить свою проблему достаточно ясно, чтобы другие могли ее понять. Итак, представьте, что у меня есть два следующих гипотетических сценария:
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 |
Но это не очень динамично .... надеетесь на лучшее решение? :)