我正在登台服务器上测试一项功能,该功能需要基本身份验证才能访问该站点。我使用以下命令运行它:
Capybara.app_host = "http://user:password@this.isanexample.com"
在场景中的某个时刻,我访问了一个使用 https 而不是 http 的页面,并要求我再次输入用户名和密码才能继续。如果我再次使用访问会很容易,但我实际上想点击一个链接......
我怎样才能克服这个?我疯狂地用谷歌搜索,但找不到真正有效的解决方案。
我发现了这个:http ://theadmin.org/articles/test-http-basic-authentication-in-rails/ ,但我不知道如何实现它。我对这一切都很陌生,所以我可能会错过显而易见的事情。
有人可以指出我正确的方向吗?
这是我的代码:
环境.rb
require 'capybara/cucumber'
Capybara.app_host = "https://user:password@this.isanexample.com"
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