当我尝试针对"Nightly" Firefox build运行Protractor测试时,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
},
};
有一个related issue没有提供解决方案。
我发现可能的解决方法之一可能是move the WebDriver
xpi extension从稳定的firefox安装(或不同的源)到Nightly firefox配置文件的“extensions”目录,但我不知道如何这样做。
我也发现了一些关于使用"Marionette" driver来测试每晚Firefox构建的内容,但是我没有找到关于它与Protractor
的关系的任何指导。
使用:
Protractor
3.0.0 尝试directConnect
而没有 - 同样的行为。
答案 0 :(得分:2)
在Mac和Linux上,我必须更新到FF 47.0.1 selenium 2.53.1。
的回答,我最初尝试使用新的Mozilla Marionette驱动程序配置Protractor我有量角器使用它(我在下面做的描述)。但是,我遇到了运行测试的驱动程序的各种问题。
然后我发现讨论说47.0.1和selenium 2.53.1恢复了FirefoxDriver的功能,因此放弃了Marionette驱动程序,转而采用兼容的升级。
对于那些希望使用Protractor和webdriver配置和使用Marionette驱动程序的人,我做了以下工作:
-Dwebdriver.gecko.driver=${path_to_driver}
属性启动了一个独立的selenium webdriver 2.53.1,并使用了该服务器。
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小组。