针对夜间Firefox构建运行Protractor

时间:2015-12-24 03:27:17

标签: javascript firefox selenium protractor nightly-build

当我尝试针对"Nightly" Firefox build运行Protractor测试时,firefox窗口无限期挂起

enter image description here

以下是我配置的相关部分:

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
    },
};

有一个related issue没有提供解决方案。

我发现可能的解决方法之一可能是move the WebDriver xpi extension从稳定的firefox安装(或不同的源)到Nightly firefox配置文件的“extensions”目录,但我不知道如何这样做。

我也发现了一些关于使用"Marionette" driver来测试每晚Firefox构建的内容,但是我没有找到关于它与Protractor的关系的任何指导。

使用:

  • 目前最新Protractor 3.0.0
  • Firefox Nightly是46.0.a1
  • Mac OS X El Capitan

尝试directConnect而没有 - 同样的行为。

2 个答案:

答案 0 :(得分: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
  2. 下载并解压缩最新的Marionette驱动程序
  3. 将其重命名为电线并将其放在路径上
  4. 使用-Dwebdriver.gecko.driver=${path_to_driver}属性启动了一个独立的selenium webdriver 2.53.1,并使用了该服务器。
  5. 在我的配置中将fireion功能设置为marionette,即: multiCapabilities:[ { 'browserName': 'chrome' } }, { 'browserName': 'firefox', 'marionette' : true } ],

答案 1 :(得分:1)

显然这是issue with Firefox 46。默认的FirefoxDriver不再适用于此版本 - 您需要使用Marionette驱动程序。我还发现quick how-to使用Selenium的新驱动程序。

我也面临同样的问题。我们默认使用directConnect运行我们的测试,所以我还没弄明白如何让量角器使用Marionette代替FirefoxDriver

如果您将量角器连接到Selenium,那么您应该可以按照可用的指南使Selenium使用新的驱动程序 - 这不应该影响量角器&# 39;与Selenium的关系。

更新:查看使用directConnect的最新版Firefox的问题,我发现无法指示量角器使用Marionette驱动程序。我为此开了一个issue with the protractor小组。