如何使用量角器和牵线木偶指定firefox二进制文件的路径?

时间:2017-02-21 00:56:35

标签: selenium-webdriver protractor webdriver-io

之前我使用的是directConnect,我可以指定firefoxPath来启动特定的二进制文件。现在,directConnect不再适用于Firefox> 47,我转而使用木偶和firefoxPath不再工作了。

这就是我的量角器配置现在的样子。

const firefox = require('selenium-webdriver/firefox');

const firefoxProfile = new firefox.Profile();

const config = {
  specs: ['e2e/scenarios.js'],
  seleniumAddress: 'http://localhost:4444/wd/hub',
  framework: 'jasmine',
};

switch (process.env.BROWSER) {
  case 'firefox':
    firefoxProfile.setPreference('media.navigator.permission.disabled', true);
    firefoxProfile.setPreference('media.navigator.streams.fake', true);
    firefoxProfile.setPreference('media.getusermedia.screensharing.allowed_domains',
      'localhost,adam.local');

    config.capabilities = {
      browserName: 'firefox',
      marionette: true,
      firefox_profile: firefoxProfile,
    };
    break;
  case 'chrome':
  default:
    config.capabilities = {
      browserName: 'chrome',
      chromeOptions: {
        args: ['auto-select-desktop-capture-source="Entire screen"',
          'use-fake-device-for-media-stream',
          'use-fake-ui-for-media-stream', 'disable-popup-blocking'],
        binary: process.env.BROWSERBIN,
      },
    };
    break;
}

exports.config = config;

这一切似乎工作正常,甚至指定首选项但我无法使浏览器二进制文件工作。我在功能中尝试过firefoxPath和firefox_bin。似乎都没有用。现在webdriver-manager正在启动浏览器时,我是否需要在启动webdriver-manager时指定路径?

我正在使用量角器5.1.1,webdriver-manager 12.0.2。

1 个答案:

答案 0 :(得分:-1)

如果你使用的是最新版本的firefox,你需要为geckodriver设置以下属性是java中的代码

System.setProperty("webdriver.gecko.driver","D:\\Jar's\\geckodriver-v0.11.1-win64\\geckodriver.exe");
        driver = new FirefoxDriver();

希望这有帮助,如果对此有任何疑问,请发表评论,乐意提供帮助:)