2

当我尝试对“夜间”Firefox 构建运行量角器测试时,Firefox 窗口无限期挂起

在此处输入图像描述

这是我的配置的相关部分:

exports.config = {
    baseUrl: 'http://localhost:8080/dev/src/',
    specs: ['dev/test/e2e/**/dashboard.spec.js'],
    directConnect: true,
    capabilities: {
        browserName: "firefox",
        firefox_binary: "/Applications/FirefoxNightly.app/Contents/MacOS/firefox-bin",
    },

    allScriptsTimeout: 110000,
    getPageTimeout: 100000,
    framework: 'jasmine2',
    jasmineNodeOpts: {
        isVerbose: false,
        showColors: true,
        includeStackTrace: false,
        defaultTimeoutInterval: 400000
    },
};

有一个相关问题没有提供解决方案。

我发现的一种可能的解决方法可能是WebDriverxpi 扩展从稳定的 firefox 安装(或其他来源)移动到 Nightly firefox 配置文件的“extensions”目录,但我不知道该怎么做。

我还发现了一些关于使用“Marionette”驱动程序测试夜间 Firefox 构建的信息,但我没有找到任何关于它与Protractor.


使用:

  • 目前最新Protractor的 3.0.0
  • Firefox Nightly 是 46.0.a1
  • Mac OS X 埃尔卡皮坦

尝试directConnect有无 - 相同的行为。

4

2 回答 2

2

在 Mac 和 Linux 上,我必须更新到 FF 47.0.1 selenium 2.53.1。

根据jrharshath的回答,我最初探索尝试使用新的 Mozilla Marionette 驱动程序配置 Protractor

我得到了量角器来使用它(下面描述了我所做的事情)。但是,我在驱动程序运行测试时遇到了很多问题。

然后我发现讨论说 47.0.1 和 selenium 2.53.1 恢复了 FirefoxDriver 功能,因此放弃了 Marionette 驱动程序以支持兼容升级。

对于那些希望通过 Protractor 和 webdriver 配置和使用 Marionette 驱动程序的人,我执行了以下操作:

  1. 从https://github.com/mozilla/geckodriver/releases下载并解压最新的 Marionette 驱动程序
  2. 将其重命名为电线并将其放在路径上
  3. 使用该属性启动了一个独立的 selenium webdriver 2.53.1 -Dwebdriver.gecko.driver=${path_to_driver},并使用了该服务器。
  4. 在我的配置中将我的 firefox 功能设置为 true,即: multiCapabilities:[ { 'browserName': 'chrome' } }, { 'browserName': 'firefox', 'marionette' : true } ],
于 2016-07-21T00:38:58.783 回答
1

显然这是Firefox 46 的问题。默认的 FirefoxDriver 不再适用于此版本 - 您需要使用Marionette驱动程序。我还找到了使用新驱动程序的快速方法Selenium

我也面临同样的问题。我们directConnect默认运行测试,所以我还没有弄清楚如何让量角器使用Marionette而不是FirefoxDriver.

如果您有 protractor 连接到Selenium,那么您应该能够按照可用的指南来Selenium使用新驱动程序 - 这不应该影响 protractor 与Selenium.


更新:查看使用最新版本 Firefox 的问题directConnect,我发现无法指示量角器使用Marionette驱动程序。我已经为此向量角器团队提出了一个问题。

于 2016-05-02T14:58:56.730 回答