【问题标题】:Set firefox profile protractor设置 Firefox 配置文件量角器
【发布时间】:2017-06-28 07:53:25
【问题描述】:

我尝试使用此代码:

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

但它显示错误: 错误:TypeError:profile.getTemplateDir 不是函数 我不知道如何解决它。

【问题讨论】:

  • 您使用什么 Protractor、Firefox、q、firefox-profile 版本?试图重现这个问题,但到目前为止对我有用(我有一个完全相同的 makeFirefoxProfile 函数)
  • 量角器 5.0 Firefox 51.0.1 (64 bit) "firefox-profile": "^0.4.8",
  • 你能支持我吗?谢谢
  • 您是否尝试过执行webdriver-manager update,然后再次尝试运行量角器?
  • 嗨,我想知道 profile = caps.get(Capability.PROFILE);是字符串,getTemplateDir() {return this.template_;} 在类 Profile????

标签: javascript selenium-webdriver geckodriver firefox-profile


【解决方案1】:

似乎selenium-webdriver(由protractor 使用)用于接受base64 编码字符串firefox_profile 能力属性。但现在它需要一个 selenium-webdriver/firefox.Profile 实例。因此,您可以通过以下方式解决您的问题:

// 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
  });
};

我希望这会有所帮助。

请注意,不再需要 firefox-profile 包。

【讨论】:

    猜你喜欢
    • 2014-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-01
    • 1970-01-01
    • 2016-08-28
    • 1970-01-01
    相关资源
    最近更新 更多