如何将iphone模拟器连接到selgrid 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. 

这看起来很明显,但我很困惑要做什么。

那么有人可以帮助我吗?

您不必运行node registration命令将其注册到网格中。

你错误的原因

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

解决方案

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