我试图用量角器实现与firefox和铬多浏览器测试。但对于测试,我需要更改下载路径。在铬,它的工作,但在Firefox中,我发现的解决方案涉及改变Firefox的配置文件。我还找到了一个办法,就像这个问题的答案Set firefox profile protractor一样。错误:profile.getTemplateDir不是函数
但是,当我尝试运行导航器的多个实例旁边的修改后的配置文件的Firefox,我总是得到一个错误,如profile.getTemplateDir is not a function
。
这里是我的量角器配置文件中的代码:
var q = require('q');
var FirefoxProfile = require("selenium-webdriver/firefox").Profile
function getProfiles() {
let deferred = q.defer();
let multiCapabilities = [{
browserName: 'chrome'
}]
deferred.resolve(multiCapabilities);
let firefoxProfile = new FirefoxProfile();
firefoxProfile.setPreference("browser.download.folderList", 2);
firefoxProfile.setPreference("browser.download.manager.showWhenStarting", false);
firefoxProfile.setPreference("browser.download.dir", '/tmp');
let foxCapabilities = {
browserName: 'firefox',
firefox_profile: firefoxProfile
};
multiCapabilities.push(foxCapabilities);
deferred.resolve(multiCapabilities);
return deferred.promise;
}
exports.config = {
seleniumAddress: "http://localhost:4444/wd/hub",
specs: [
'spec.js'
],
framework: 'jasmine2',
getMultiCapabilities: getProfiles,
jasmineNodeOpts: {
defaultTimeoutInterval: 30000
},
};
有谁知道为什么会触发此错误以及如何解决它?
感谢
我觉得你的问题是,个人资料正在创建一次,由框架 –
此代码对Firefox的一个实例重复使用,但如果什么工作我尝试添加例如chrome或firefox浏览器的另一个实例,然后错误被触发 – aozora
是的,因为代码在第二次调用时没有生成新的配置文件对象。你需要调试。 –