【问题标题】:Selenium server does not open browserSelenium 服务器不打开浏览器
【发布时间】:2017-07-14 02:37:09
【问题描述】:

我正在尝试让我们久经考验的 Behat 设置工作,但即使 Selenium 服务器已启动并正在运行,当我运行我的脚本时浏览器窗口也永远不会打开。它似乎在无头运行(它不应该这样做)但是当我检查我的输出文件时,没有任何步骤通过。

我尝试删除所有内容并从头开始重新拉动,但没有任何效果。不幸的是,我不知道我应该如何解决这个特殊问题,所以看起来你们是我最后的希望。

我猜我的设置不会有太大价值,因为它已经在多台其他机器上运行,但也许有人遇到过类似的问题,并且可能对错误可能是什么提出建议。如果您需要更多信息,请告诉我,我很乐意提供。

我在启动 Selenium Server 时使用以下内容:

selenium-server-standalone-2.9.0.jar

chromedriver-2.24

InternetExplorerDriver 服务器(64 位)2.53.1.0

我用来启动 Selenium Server 的 Powershell 脚本:

Param (
      [string] $FireFoxBinary  
      )
$SeleniumServerPath = (Split-Path -Parent $MyInvocation.MyCommand.Definition) 
if (-not ([String]::IsNullOrEmpty($FireFoxBinary))) {
    $WebDriverFireFoxBin ="""-Dwebdriver.firefox.bin=$FireFoxBinary"""
}
java -jar (Join-Path $SeleniumServerPath "selenium-server-standalone-2.9.0.jar")  "-Dwebdriver.ie.driver=$(Join-Path $SeleniumServerPath IEDriverServer.exe)" "-Dwebdriver.chrome.driver=$(Join-Path $SeleniumServerPath chromedriver-2.24.exe)" $WebDriverFireFoxBin

启动 Selenium 服务器时的控制台输出:

INFO:启动独立服务器 将系统属性 webdriver.ie.driver 设置为 D:\Data\git_stuff\ebiz-test-automation\Framework\Selenium_server\selenium_2.9.0\IEDriverServer.exe 将系统属性 webdriver.chrome.driver 设置为 D:\Data\git_stuff\ebiz-test-automation\Framework\Selenium_server\selenium_2.9.0\chromedriver-2.24.exe 14:16:09.054 信息-Java:甲骨文公司 25.121-b13 14:16:09.070 信息-操作系统:Windows 7 6.1 amd64 14:16:09.070 信息 - v2.9.0,带有核心 v2.9.0。从修订版 14289 构建 14:16:09.210 信息 - RemoteWebDriver 实例应连接到:http://127.0.0.1:4444/wd/hub 14:16:09.210 信息 - 版本 Jetty/5.1.x 14:16:09.210 信息 - 启动 HttpContext[/selenium-server,/selenium-server] 14:16:09.382 信息 - 开始 org.openqa.jetty.jetty.servlet.ServletHandler@7d4793a8 14:16:09.382 信息 - 开始 HttpContext[/wd,/wd] 14:16:09.382 信息 - 启动 HttpContext[/selenium-server/driver,/selenium-server/driver] 14:16:09.382 信息 - 开始 HttpContext[/,/] 14:16:09.398 信息 - 在 0.0.0.0:4444 上启动 SocketListener 14:16:09.398 信息 - 开始 org.openqa.jetty.jetty.Server@5b6f7412

【问题讨论】:

  • 请展示您如何在代码中实例化 webdriver,以及显示的任何控制台输出。还提供您正在运行的 selenium 版本、浏览器和操作系统。您最初的问题很冗长,但绝对没有任何信息可以帮助您。
  • 你应该至少从 behat.yml 添加一些东西,一些错误,配置文件。如果设置中的绝对一切都相同,那么 selenium 服务器可能是问题所在,可能是不同的驱动程序或不同的浏览器版本。
  • 我已经更新了我的原始帖子,提供了有关我的设置的更多信息。不幸的是,我没有收到错误消息,因此我无法发布任何相关信息。如果您需要更多信息,我会尽快更新。

标签: selenium selenium-webdriver behat


【解决方案1】:

对许多遇到您这类问题的人有帮助的一件事是最大化浏览器。即使是无头浏览器也需要渲染空间。我只是使用:

driver.manage().window().maximize();

您还应该尝试在第一个 driver.get() 之后立即截取屏幕截图。

【讨论】:

    【解决方案2】:

    在我看来,启动 selenium 服务器 的设置不是很好。

    您应该记住,随着浏览器更新,旧的 selenium 可能无法按预期工作。

    如果你想保持相同的结构,你还应该添加新的 selenium 服务器的路径。

    尝试使用 firefox 运行,获取最新的 selenium 服务器 3.1.0 和最新的 chromedriver 2.27 并在没有脚本的情况下启动 selenium 进行测试。

    将两者(驱动程序+selenium)下载到同一目录,打开控制台并运行类似的东西,

    对于 Windows:
    java -Dwebdriver.chrome.driver=chromedriver.exe -jar selenium-server-standalone-3.1.0.jar

    Mac 版:
    java -Dwebdrive.chrome.driver=chromedriver -jar selenium-server-standalone-3.1.0.jar

    【讨论】:

    • 对不起,如果我问的问题有一个明显的答案,但为什么这不是一个很好的启动 Selenium 服务器的设置?如果有什么比我们现有的更有意义,我很想更改设置,但我不确定问题出在哪里。
    猜你喜欢
    • 2014-02-04
    • 2017-02-05
    • 1970-01-01
    • 2018-03-01
    • 2022-12-18
    • 2021-08-28
    • 2021-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多