2011-06-04 93 views
5

早上好,我怎样才能让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 

现在,如果我使用下面的红宝石代码:

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 

这样的作品,在这两个浏览器启动和goto sele网页。不过,我不想指定'firefox'作为浏览器类型,因为我希望将网格中的所有浏览器(Windows上的IE,Mac上的FF等)作为目标。所以我尝试从Grid.control命令中取出'firefox',而'Safari'启动时,我从第二个浏览器得到一个错误,因为它不知道我在猜测什么运行。 (我很抱歉,但我不在我的机器上重新创建错误并将其发布到这里,我会尽快更新这篇文章)。

我试图与-b开关启动的webdriver提供商:

provider -d webdrive -c druby://192.168.0.1:11235 -b firefox 

,然后再次运行相同的Ruby代码,无需浏览器的类型,但我得到了同样的错误。

我在这里错过了什么吗?

我认为在具有多个浏览器的计算机上运行多个提供程序是正常的,只是在不同的端口上。

我已经取得了一些成功,我已经在一台孤立的机器上使用了webdriver的Chrome,我认为它会真正帮助我的web开发,我只需要通过这个问题,所以谢谢任何帮助。我希望这一切都有道理。

谢谢,罗素

回答

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 params中明确定义它)。

让我知道你怎么走...

+0

优秀添,感谢这么多,它是做什么的我想现在它! – 2011-06-07 20:26:55

相关问题