サイトにアクセスするために基本認証を必要とするステージング サーバーで機能をテストしています。以下を使用して実行しました。
Capybara.app_host = "http://user:password@this.isanexample.com"
シナリオのある時点で、http ではなく https を使用するページにアクセスし、続行するにはユーザーとパスワードを再度入力する必要があります。もう一度訪問するだけなら簡単ですが、実際にはリンクをクリックしたいのですが...
どうすればこれを乗り越えることができますか? 私は狂ったようにグーグルで検索しましたが、実際に機能する解決策を見つけることができませんでした.
http://theadmin.org/articles/test-http-basic-authentication-in-rails/を見つけましたが、実装方法がわかりません。私はこれらすべてにまったく慣れていないので、明らかなことを見逃す可能性があります。
誰かが私を正しい方向に向けることができますか?
これが私のコードです:
env.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