我有一个黄瓜项目使用watir-webdriver和headless在我的mac工作站上工作得很好。我已经在我的工作站上设置了一个特殊的“jenkins”用户,因为我打算将我的工作站转换为Jenkins节点。当作为“jenkins”用户在命令行上运行测试时,或者通过我当地的Jenkins安装运行测试时,一切正常。
然而,当我从一个远程Unix盒子进入我的工作站并尝试从命令行运行黄瓜时,我的一些测试会返回:
Element cannot be scrolled into view:http://[url] (Selenium::WebDriver::Error::MoveTargetOutOfBoundsError)
以下是设置浏览器的env.rb代码段:
require 'headless'
headless = Headless.new
headless.start
require 'watir-webdriver'
browser = Watir::Browser.new :firefox
Before do
@browser = browser
end
# "after all"
at_exit do
browser.close
headless.destroy
end
有趣的是,一些测试仍然通过,黄瓜仍然会生成截图,所以通过SSH黄瓜仍然打开firefox,在一些测试中成功,截取屏幕截图并关闭。
更新:在Ubuntu主机上创建了一个新的Jenkins从站,具有完全相同的设置/安装/项目,并且工作正常。貌似证实这是Mac OSX Lion问题上的X11。也许山狮的xquartz港口会有所帮助。
答案 0 :(得分:0)
我没有使用无头进行测试。 Alister Scott在his blog中有一个例子,并没有使用firefox。
require 'watir-webdriver'
require 'headless'
headless = Headless.new
headless.start
b = Watir::Browser.start 'www.google.com'
puts b.title
b.close
headless.destroy
您应该将以下代码添加到env.rb文件中:
if ENV['HEADLESS']
require 'headless'
headless = Headless.new
headless.start
at_exit do
headless.destroy
end
end
答案 1 :(得分:0)