我已完成列出的所有步骤 here设置支持 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.
这似乎是显而易见的,但我很困惑该怎么做。
有人可以帮我吗?
最佳答案
您不必运行节点注册命令即可将其注册到网格中。
错误原因
在 iPhone(和模拟器)中,当您启动 iWebDriverApp 时,它会在端口 3001 中启 Action 为远程控制。因此,当您尝试在同一台计算机的同一端口(3001)上启动另一个节点时,它会抛出此错误。
解决方案
我没有在模拟器中尝试过,而是在实际设备中尝试过。在设备中安装 iWebDriverApp 后,您需要设置该应用程序的集线器详细信息。这可以通过转到设置->iWebDriverApp来完成。您将找到用于指定集线器 URL 和端口的文本框。然后再次重新启动 iWebDriverApp。您的 iPhone 将位于网格中。
关于iphone - 如何将 iphone 模拟器连接到 selgrid 2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10523649/