早上好,
我正在设置watirgrid,我已经取得了一定程度的成功,但是我在让所有的提供者使用我的ruby脚本时遇到了问题。
在我的Mac上,我从命令行使用以下命令设置了一个提供程序:
provider -d safariwatir -c druby://192.168.0.1:11235然后在我的Ubuntu机器上,我设置了另一个提供者
provider -d webdriver -c druby://192.168.0.1:11235现在,如果我使用下面的ruby代码:
require 'rubgygems'
require 'watirgrid'
Watir::Grid.control(:controller_uri => 'druby://192.168.0.1:11235', :browser_type => 'firefox'_ do |browser, id|
puts "Browser id is #{i}"
browser.goto("http://www.google.co.uk")
puts browser.title
end这种方式的工作原理是,两个浏览器都启动并转到所选页面。但是,我不希望必须指定'firefox‘作为浏览器类型,因为我希望面向网格中的所有浏览器( Windows上的IE,Mac上的FF等)。于是我试着从Grid.control命令中去掉'firefox‘,当'Safari’启动时,我从第二个浏览器得到一个错误,因为它不知道运行什么,我猜。
(很抱歉,我不能在我的机器前重新创建错误并将其发布在这里。我会在我可以的时候更新这篇文章)。
我尝试使用-b开关启动webdriver提供程序:
provider -d webdrive -c druby://192.168.0.1:11235 -b firefox然后再次运行相同的ruby代码,没有浏览器类型,但我得到了相同的错误。
我是不是漏掉了什么?
我假设在一台有多个浏览器的机器上运行多个提供程序是很正常的,只是在不同的端口上。
我在这方面取得了一些成功,我让Chrome在一台孤立的机器上使用webdriver,我认为这对我的web开发真的很有帮助,我只需要克服这个问题,所以谢谢你的帮助。我希望这一切都有意义。
谢谢,罗素
发布于 2011-06-05 11:55:59
有趣的用例,我没有想到这一点(在同一台机器上使用不同的浏览器和不同的驱动程序类型)
看看最新的版本
gem install watirgrid --pre在rspec中有一个例子:https://github.com/90kts/watirgrid/blob/master/spec/grid_mixed_spec.rb
如果您要在同一台机器上启动多个提供程序,请确保使用-p参数将它们用唯一的端口分隔。我还修复了一个错误,如果您指定了-b browser_type,那么如果没有在Watir::Grid参数中显式地定义它,它将默认使用该浏览器类型。
让我知道你怎么去..。
发布于 2012-04-19 02:40:36
现在Webdriver添加了对Safari的支持,这可能会更容易一些
有关更多信息,请查看此处:http://watirmelon.com/2012/04/17/using-watir-webdriver-with-safari-at-last/
https://stackoverflow.com/questions/6235506
复制相似问题