Контекст:
Я пытаюсь сделать многоразовые определения шагов, которые нажимают на объекты страницы на текущей странице, например. (следует определение шага огурца):
When(/^the user clicks the "([^"]*)" button$/) do |button|
click_button = button.downcase.gsub(" ","_")
@current_page #somehow get current page object on this line
@current_page.click_button
end
Постановка задачи:
Я не могу найти ничего, что возвращает текущий объект страницы.
Объяснение того, почему очевидное решение не сработало:
Я думал, что @current_page
уже есть, как то, что я мог бы использовать. Я просмотрел исходный код объекта страницы, и переменная @current_page
действительно существует. Не уверен, как его использовать, если я могу...
Кстати, в этом случае у меня есть куча тестировщиков, которые могут писать корнишоны, но не обязательно определения шагов. Мы пытаемся быстро закончить кучу регрессионных тестов для собственного приложения с неизменным интерфейсом.
@current_page
можно установить только при использовании методов страницыon
илиvisit
(в PageFactory). Концептуально, как узнать, какой объект страницы соответствует какой странице? - person Justin Ko   schedule 11.12.2013if_page
, который может определить, находитесь ли вы на определенной странице. Проверка всех объектов страницы, которые у вас есть, может быть не слишком дорогой. Это возможный способ сделать то, что я хочу. Используйтеif_page
для каждого объекта страницы, который вы создали, пока не получите положительный результат. К чести @DaveMcNulla, похоже, что мы все равно не собираемся пытаться писать такие определения шагов. Он перемещает всю логику, которая должна быть в шаге определения и кода поддержки, в Gherkin... - person David West   schedule 11.12.2013