Firefox 配置文件设置在带有 selenium webdriver 配置的量角器中抛出错误

Firefox profile setup throws error in protractor with selenium webdriver configuration

var q = require("q");
var FirefoxProfile = require("firefox-profile");
var makeFirefoxProfile = function(preferenceMap) {

    var deferred = q.defer();
    var firefoxProfile = new FirefoxProfile();

    for (var key in preferenceMap) {
        firefoxProfile.setPreference(key, preferenceMap[key]);
    };

    firefoxProfile.encoded(function (encodedProfile) {
        var capabilities = {
            browserName: "firefox",
            directConnect: true,
            firefox_profile: encodedProfile
        };

        deferred.resolve(capabilities);
    });
    return deferred.promise;
};


exports.config = {
   specs:specs,
   getMultiCapabilities: function() {
       return q.all([
           makeFirefoxProfile(
               {
                   "browser.download.folderList": 2,
                   "browser.download.dir": "/path/to/save/downloads",
                   "browser.helperApps.neverAsk.saveToDisk": "application/zip"
               }
           )
       ]);
   },

  // ...
}

它抛出以下错误:

ERROR - failed loading configuration file protractor.conf.js /usr/local/lib/node_modules/protractor/lib/configParser.js:183 throw e; ^ Error: Cannot find module 'q'

请分享您的意见以解决此问题。

您需要安装 qfirefox-profile 模块:

npm install q firefox-profile --save-dev