我正在使用 watir-webdriver 和 cucumber 和 ruby 来为网站构建自动回归测试。Cucumber 和 watir-webdriver 在用于实际站点的 rails 应用程序之外。为了让我的测试在 Jenkins 上运行,我想开始使用 phantomjs 无头运行测试。为了访问网站的预生产环境,我需要通过网站的基本身份验证。
我遇到的问题是:当 phantomjs 尝试访问具有基本身份验证的外部 URL 时,它会挂断并且无法通过基本身份验证用户名/密码。
关于如何让 phantomjs 识别如下 URL 的任何想法:
https://admin:password@test.website.com"
环境.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
配置.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...}