每当我们使用RemoteWebDriver在远程机器上执行selenium-webdriver测试时,我们都需要在远程机器上启动selenium-server-standalone-x.x.x.jar。
java -jar selenium-server-standalone-x.x.x.jar
在启动远程浏览器之前,我可以通过编程的方式来完成它吗?下面是我在远程浏览器中驱动ff的代码:
// Declare firefox capabilities
DesiredCapabilities capability = DesiredCapabilities.firefox();
// Create a remote web driver
WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capabilities);
// Navigate to test site
driver.navigate().to("http://www.google.com");
1条答案
按热度按时间ncgqoxb01#
简单地说,这是不可能直接实现的。要在远程计算机上执行命令,需要在远程计算机上运行一个应用程序,该应用程序充当侦听器,等待命令通过。这是selenium-server-standalone基本上实现的功能(除此之外,它会启动测试)。因此,最简单的方法是手动启动selenium-server,或者作为一种变通方案,您可以在预设的时间执行脚本(我在Mac上执行Ant构建作为警报)。
无论从哪种Angular 看,您都需要一个服务器,它提供在远程计算机上运行的SSH,以便为集线器上的应用程序建立连接,从而启动节点中的某些内容。
我的解决方法是设置一个警报(在Mac上-你可以找到类似的Windows脚本),在某个时间运行一个蚂蚁任务,这将启动服务器。服务器在实际测试运行前大约两分钟启动,以便给予服务器时间注册到节点。