Я тестирую функцию на промежуточном сервере, для которой требуется базовая аутентификация для доступа к сайту. Я получил это работает, используя следующее:Проблемы с аутентификацией в Capybara
Capybara.app_host = "http://user:[email protected]"
В какой-то момент в сценарии я получить доступ к странице, которая использует протокол HTTPS вместо HTTP и требует от меня, чтобы поместить в систему пользователя и пароль еще раз, чтобы продолжить. Было бы легко, если бы я снова воспользовался визитом, но я действительно хочу нажать на ссылку ...
Как я могу пройти мимо этого? Я поступил в Google как сумасшедший, но не мог найти решение, которое работает.
Я нашел это: http://theadmin.org/articles/test-http-basic-authentication-in-rails/, но я понятия не имею, как его реализовать. Я совершенно новичок в этом, поэтому я мог бы пропустить очевидное.
Может кто-нибудь указать мне в правильном направлении?
Вот мой код:
env.rb
require 'capybara/cucumber'
Capybara.app_host = "https://user:[email protected]"
Capybara.default_driver = :selenium
Capybara.default_wait_time = 5
Capybara.ignore_hidden_elements = true
Capybara.current_session.driver.browser.manage.window.resize_to(1024, 1000)
checkout_steps.rb (сокращенная)
Given /^I am on the main page$/ do
visit('/')
end
When /^I navigate to the page with the available boxes$/ do
page.find(:xpath, "//a[contains(@href,'how-it-works')]").click
page.find(:xpath, "//a[contains(@class,'join')]").click
end
When /^I choose a monthly subscription$/ do
page.find(:xpath, "//span[contains(@class,'title') and .[contains(., 'Unbefristetes Abo')]]").click
page.find_button("Jetzt Bestellen").click
end
Попытайтесь положить 'Capybara.visit ''' в env.rb –
@ AndreyBotalov: Я пробовал это, но у меня все равно получается тот же диалог входа. Какова была твоя мысль за этим предложением? – TrashyMcTrash
Волшебно, это работает в моем случае –