5

早上好,

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

谢谢, 拉塞尔

4

2 回答 2

2

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

看看最新的构建

gem install watirgrid --pre

rspec 中有一个示例: https ://github.com/90kts/watirgrid/blob/master/spec/grid_mixed_spec.rb

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

让我知道你怎样去...

于 2011-06-05T03:55:59.207 回答
0

由于 Webdriver 添加了对 Safari 的支持,这可能会更容易一些

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

于 2012-04-18T18:40:35.650 回答