2

我已完成此处列出的所有步骤来设置支持 webdriver 的 iphone 模拟器。在创建驱动程序实例时,我还可以使用以下代码在本地运行我的模拟器脚本。

driver = Selenium::WebDriver.for :remote, :url => "http://localhost:3001/wd/hub", :desired_capabilities => :iphone

我打算将这个模拟器连接到 sel grid 2,它的集线器在 Windows 机器上远程运行。

有人可以分享在mac机器上启动selenium webdriver节点的命令(巧合的是我的本地机器)。

就像是

java -jar selenium-server-standalone-2.21.0.jar -role webdriver -hubHost remotewindowmachine.com -hubPort 4444 -hub http://remotewindowmachine.com:4444/grid/register -host iphoneIP/hub -port 3001 -browser browserName=iphone

引发错误

Exception in thread "main" java.net.BindException: Selenium is already running on port 3001.

这似乎很明显,但我对该怎么做感到困惑。

那么有人可以帮助我吗?

4

1 回答 1

2

您无需运行节点注册命令即可将其注册到网格中。

你错误的原因

在 iPhone(和模拟器)中,当您启动 iWebDriverApp 时,它会在端口 3001 中作为远程控制启动。因此,当您尝试在同一端口(3001)上的同一台机器上启动另一个节点时,它会抛出此错误。

解决方案

我没有在模拟器中尝试过,而是在实际设备中尝试过。在您的设备中安装 iWebDriverApp 后,您需要设置应用程序的集线器详细信息。这可以通过转到Settings->iWebDriverApp来完成。您将找到用于指定 Hub URL 和端口的文本框。然后再次重新启动 iWebDriverApp。您的 iphone 将在网格中。

于 2012-05-10T04:28:18.703 回答