0

サイトにアクセスするために基本認証を必要とするステージング サーバーで機能をテストしています。以下を使用して実行しました。

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
4

1 に答える 1