1

キュウリとルビーで watir-webdriver を使用して、Web サイトの自動回帰テストを構築しています。Cucumber と watir-webdriver は、実際のサイトで使用されている rails アプリケーションの外部にあります。テストを Jenkins で実行するには、phantomjs を使用してテストをヘッドレスで実行したいと考えています。Web サイトの運用前環境にアクセスするには、サイトの基本認証を通過する必要があります。

私が実行している問題は、phantomjs が基本認証を持つ外部 URL にアクセスしようとすると、ハングアップし、基本認証のユーザー名/パスワードを通過しないことです。

次のようなURLをphantomjsに認識させる方法についての考え:

https://admin:password@test.website.com"

env.rb:

BASE_URL = Configuration["base_url"]
require "watir-webdriver"

case ENV['BROWSER']
  when 'chrome'
    profile = Selenium::WebDriver::Chrome::Profile.new
    browser = Watir::Browser.new :chrome, :profile => profile
  when 'firefox'
    profile = Selenium::WebDriver::Firefox::Profile.new
    browser = Watir::Browser.new :firefox, :profile => profile
  when 'phantomjs'
    browser = Watir::Browser.new :phantomjs
  end
end

config.yml

website:
    base_url: "https://admin:password@test.website.com"

キュウリの実行:

cucumber -p website BROWSER=phantomjs

結果:

Scenario: User Logs In
    Given a logged out user
    timed out after 30 seconds, waiting for {foobar...}
4

1 に答える 1

2
caps = { 'phantomjs.page.settings.userName' => 'admin', 'phantomjs.page.settings.password' => 'password' }
driver = Selenium::WebDriver.for(:phantomjs, :desired_capabilites => caps)
browser = Watir::Browser.new(driver)
browser.goto 'https://test.website.com'
于 2013-10-15T18:49:38.840 に答える