Передача таблицы из основного в экспортный сценарий
Недавно в VA появилась возможность передавать в экспортные сценарии таблицы как параметры. Это позволяет полноценно отделить тестовые данные от описания интерфейса, применив паттерн "Page Object". Писал про него здесь и здесь.
Синтаксис получился достаточно простой.
В основном сценарии "вызываем" экспортный сценарий и под вызовом описываем таблицу со значениями.
В экспортном сценарии таблица может быть описана без подробностей просто строкой '| Таблица |' и больше подробностей не требуется.
Типовой шаг-цикл "И для каждой строки таблицы я выполняю" превращает каждую колонку таблицы в переменную и вызывает вложенные действия для каждой строки таблицы.
При этом нет никаких ограничений по использованию данного механизма в собственных шагах. Таблица полностью передается в процедуру-снипет, как параметр, и ее можно обработать любым способом.
Обращения к переменным в экспортном сценарии происходит через обрамление имени колонки долларами. Если колонка называется 'Имя', то обращение к значению происходит $Имя$.
VA сама определяет какую таблицу куда подставить, но чтобы убедится в корректности подстановки лучше использовать Vanessa Editor, включив опцию "Показывать строки подсценариев". Тогда в основном сценарии будут видны строки экспортного сценария и таблицы основного сценария. На скрине ниже показано отображение таблицы основного сценария в строках экспортного сценария.
Ограничения и особенности данного механизма:
- таблиц в основном сценарии может быть несколько, но порядок их вызова экспортным сценарием должен строго соответствовать порядку описания в основном сценарии, также в основном сценарии таблицы должны быть разделены пустой строкой
- в экспортном сценарии не должно других шагов с таблицами Gherkin, например шаг "И в таблице 'Список' я перехожу к строке:" приводит к такому эффекту