【问题标题】:Start Selenium driver server programmatically before opening browser in a remote machine在远程机器中打开浏览器之前以编程方式启动 Selenium 驱动程序服务器
【发布时间】:2014-03-12 19:44:57
【问题描述】:

每当我们使用 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");

提前致谢。

【问题讨论】:

  • 您是否在问是否有一种方法可以从当前机器(集线器)以编程方式在远程机器(节点)中启动服务器?

标签: java selenium-webdriver


【解决方案1】:

简短的回答是,这不是直接可能的。要在远程机器上执行命令,您需要在远程机器上运行一个用作侦听器的应用程序 - 等待通过的命令。这就是 selenium-server-standalone 基本上实现的目标(除此之外,它还会启动测试)。因此,最简单的方法是手动启动 selenium-server 或作为解决方法,您可以在预设时间执行脚本(我在 Mac 上执行 ant build 作为警报)。

无论您怎么看,您都需要一个在远程机器上运行提供 SSH 的服务器,以便您在集线器上为您的应用程序建立连接,从而在节点中启动某些东西。

我的解决方法是设置警报(在 Mac 上 - 您可以找到类似的 Windows 脚本)以在特定时间运行 ant 任务,这将启动服务器。服务器在实际测试运行前大约两分钟启动,以使服务器有时间注册到节点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-12
    • 1970-01-01
    相关资源
    最近更新 更多