Недавно я обнаружил SitePrism через электронную почту rubyweekly. Это выглядит потрясающе. Я вижу, что это будет будущее.Использование SitePrism с характеристиками функции Rspec и Capybara
Примеры, которые я видел, в основном для шагов огурца. Я пытаюсь выяснить, как можно использовать SitePrism с rspec.
Предполагая @home_page для домашней страницы и @login_page для login_page Я могу понять, что
@home_page.load # => visit @home.expanded_url
однако, часть я не уверен, если я думаю, нажмите на, например, в " login ", а браузер в Capybara переходит на страницу входа в систему - как я могу получить доступ к экземпляру страницы входа, не загружая его.
@home_page = HomePage.new
@home_page.load
@home.login_link.click
# Here I know the login page should be loaded, so I can perhaps do
@login_page = LoginPage.new
@login_page.should be_displayed
@login_page.email_field.set("[email protected]")
@login_page.password_field.set("password")
@login_page.submit_button.click
etc...
Кажется, что это может сработать. Итак, когда вы знаете, что вы должны быть на определенной странице, вы создаете экземпляр этой страницы и как-то контекст «страницы» capybara, как и в page.find («a [href = '/ sessions/new»] ") переносится на последний объект SitePrism?
Я просто чувствую, что здесь что-то отсутствует. Я поиграю и посмотрю, что я могу понять - просто подумал, что я могу что-то упустить. Я просматриваю источник, но если кто-то это понял ... не стесняйтесь делиться :)
Почему вы не хотите вводить метод входа в объект страницы? –
Возможно, вы упустили точку вопроса ... –
можете ли вы показать свои функции/файл поддержки/env.rb? – bmalets