1

Ich versuche, diesen Code zu verwenden:Set firefox Profil Winkelmesser

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", 
     firefox_profile: encodedProfile 
    }; 

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

    getMultiCapabilities: function() { 
    return q.all([ 
     makeFirefoxProfile(
     { 
      "browser.download.folderList": 2, 
      "browser.download.dir": "D:/Automation", 
      "browser.helperApps.alwaysAsk.force": false 
     } 
    ) 
    ]); 
    }, 

Aber es zeigt Fehler: Fehler: Typeerror: profile.getTemplateDir ist keine Funktion Ich weiß nicht, wie man es beheben .

+0

Welche Winkelmesser, Firefox, q, Firefox-Profil-Versionen verwenden Sie? Der Versuch, das Problem zu reproduzieren, funktioniert aber bei mir bisher (ich habe eine exakt gleiche 'makeFirefoxProfile'-Funktion) – alecxe

+0

Winkelmesser 5.0 Firefox 51.0.1 (64 Bit) " firefox-profile ":"^0.4.8 ", –

+0

Can Sie unterstützen mich? Danke –

Antwort

3

Es scheint wie selenium-webdriver (die von protractor verwendet wird) verwendet, um eine Base64-codierte Zeichenfolge firefox_profile Fähigkeitseigenschaft zu akzeptieren. Aber jetzt erwartet es eine selenium-webdriver/firefox. Profile Instanz. Also hier ist, wie Sie Ihr Problem lösen können:

// make sure you have access to the selenium-webdriver firefox Profile class 
var FirefoxProfile = require("selenium-webdriver/firefox").Profile; 
//... 
// then change makeFirefoxProfile() function implementation with the following... 

var makeFirefoxProfile = function (preferenceMap) { 
    var profile = new FirefoxProfile(); 
    for (var key in preferenceMap) { 
    profile.setPreference(key, preferenceMap[key]); 
    } 
    return q.resolve({ 
    browserName: "firefox", 
    marionette: true, 
    firefox_profile: profile 
    }); 
}; 

Ich hoffe, das hilft.

Beachten Sie, dass das firefox-profile Paket nicht mehr benötigt wird.

Verwandte Themen