キュウリとルビーで 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...}