0

我正在登台服务器上测试一项功能,该功能需要基本身份验证才能访问该站点。我使用以下命令运行它:

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
4

1 回答 1

0

我通过摆脱网站本身的身份验证解决了这个问题。如果测试是在公司网络内运行的,验证弹出窗口将不再出现。事实证明,这在很多方面都是更好的解决方案。

于 2013-06-28T11:38:24.837 回答