【问题标题】:How to run tests in behat on firefox 48.0 using selenium stand alone server?如何使用 selenium 独立服务器在 firefox 48.0 上运行测试?
【发布时间】:2016-09-13 11:12:10
【问题描述】:

之前我使用 Behat 3 和 Stand Alone Server 2.45 并且一切正常。

我使用 PhpStorm 作为我的 IDE。后来,在安装了 Firefox(版本 48.0)的更新后,我的测试停止工作。我还尝试使用 Selenium Standalone Server 版本运行测试。 3.0.0-beta3 但 Firefox 浏览器未打开。

有没有办法在浏览器 FF 48.0 下运行测试?也许有人想分享有关 Behat、FF48 和 Stand Alone Server 的工作配置的信息?

【问题讨论】:

  • 你试过什么?您在 behat 或 selenium 控制台中遇到任何错误吗?可能您可能需要使用 geckodriver。我建议使用 chrome,至少对我来说更快更可靠。对于 chrome,您还需要使用 chrome 驱动程序启动 selenium。
  • 你能告诉我用 chromedriver 运行 selenium 独立服务器的命令吗?
  • 你能添加你的 behat.yml 的内容吗?

标签: selenium firefox phpstorm behat


【解决方案1】:

使用 chrome 驱动程序命令独立启动 selenium 服务器,

最新的硒(3.0+)

java -Dwebdriver.chrome.driver=chromedriver.exe -jar selenium-server-standalone-3.0.0-beta2.jar

对于旧版本(低于 3)

java -jar selenium-server-standalone-2.53.1.jar -Dwebdriver.chrome.driver=chromedriver.exe

因此,对于最新的 selenium,您需要先指定驱动程序,然后再指定 selenium jar。

注意:为您的操作系统使用适当的 chromedriver 版本

【讨论】:

  • 我像你一样运行服务器:$ java -Dwebdriver.chrome.driver=chromedriver -jar /home/grzegorz/selenium-server-standalone-3.0.0-beta3.jar 但我明白了错误:[dropbox.com/s/wnqpisr4rs8oueo/…我正在开发 kubuntu 16.04。
  • 尝试最新版本的 chromedriver,之后也尝试使用旧版本。还要检查 FeatureContext 中没有任何可能影响此的自定义代码,例如创建新会话或类似的东西那个。
  • 启动 selenium 看看有没有报错,运行测试看看有没有报错。如果有任何错误(完整堆栈跟踪),并从 FeatureContext 发布任何可能影响此的自定义代码。
  • 好的。首先尝试'$ java -Dwebdriver.chrome.driver=chromedriver224 -jar /home/grzegorz/selenium-server-standalone-3.0.0-beta3.jar'。运行测试后出错。控制台part 1part 2part 3PhpStorm error.
  • My FeatureContext file。我没有在这个文件的任何地方创建新会话。
【解决方案2】:

也许我们需要更多关于您的 behat.yml 以及 selenium 日志提供给您的信息的信息。

仅供参考,这里有我在 Behat 3 和 Selenium3-beta3 下运行 firefox 的配置。

    extensions:
    Behat\MinkExtension:
        base_url: "http://www.your-web.dev/"
        sessions:
            firefox_mac:
                selenium2:
                    browser: "firefox"
                    wd_host: http://xxx.xxx.xxx.xxx:4444/wd/hub
                    capabilities: { "platform": "MAC", "browser": "firefox", "version": "" }

您应该将 PHPStorm 链接到 behat 可执行文件,并将配置文件链接到 firefox behat.yml。如果您在 PhpStorm 中的解释器配置良好,它应该可以工作。

Phpstorm 会显示一些错误吗?

【讨论】:

  • 我的 behat.yml 文件:code #behat.yml 默认值:autoload: '': %paths.base%/features/bootstrap extensions: Behat\MinkExtension: files_path: /home/grzegorz/ PhpstormProjects/paragraf/images default_session: selenium2 base_url: MY_SITE.com selenium2: wd_host: "127.0.0.1:4444/wd/hub" browser_name: 'firefox' code 我使用以下命令在控制台中运行独立服务器:java -jar selenium-server-standalone -3.0.0-beta3.jar
  • 当我从 PHPStorm 运行测试时出现此错误:无法打开连接:驱动程序可执行文件的路径必须由 webdriver.gecko.driver 系统属性设置;
  • 尝试改变这个:wd_host: "127.0.0.1:4444/wd/hub"; browser_name: 'firefox' 为此: browser: "firefox" wd_host: xxx.xxx.xxx.xxx:4444/wd/hub capabilities: { "platform": "MAC", "browser": "firefox", "version": "" } 将平台更改为任何你想要的正在使用。 (我知道你不是在网格模式,不是吗?)
  • 我按照您的建议进行更改。但是错误保持不变。我应该在 FutureContext.php 中添加一些额外的行吗?
  • java -Dwebdriver.gecko.driver=/path/to/geckodriver.exe -jar selenium-server-standalone-3.0.0-beta2.jar
【解决方案3】:

Behat 目前与 selenium3 不兼容,请改用 selenium 2.53。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-23
    • 2015-01-29
    • 1970-01-01
    • 2017-07-05
    • 1970-01-01
    • 1970-01-01
    • 2012-04-24
    相关资源
    最近更新 更多