如何让watir-webdriver和safariwatir一起工作?

时间:2011-06-04 07:46:07

标签: watir watir-webdriver safariwatir

早上好,

我正在设置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,我认为这对我的网站开发很有帮助,我只需要解决这个问题,所以感谢您的帮助。我希望这一切都有意义。

谢谢,拉塞尔

2 个答案:

答案 0 :(得分:2)

有趣的用例,我没有想到(在不同浏览器和不同驱动程序类型的同一台机器上)

查看最新版本

gem install watirgrid --pre

这里有一个rspec的例子: https://github.com/90kts/watirgrid/blob/master/spec/grid_mixed_spec.rb

如果要在同一台计算机上启动多个提供程序,请确保使用unqiue端口使用-p参数分隔它们。我还修复了一个错误,如果你指定-b browser_type,如果没有在Watir :: Grid参数中明确定义它,它将默认为该浏览器类型。

让我知道你怎么去......

答案 1 :(得分:0)

现在Webdriver已经添加了对Safari的支持

,这可能会有点容易

有关详细信息,请参阅此处:http://watirmelon.com/2012/04/17/using-watir-webdriver-with-safari-at-last/