之前我使用的是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。
答案 0 :(得分:-1)
如果你使用的是最新版本的firefox,你需要为geckodriver设置以下属性是java中的代码
System.setProperty("webdriver.gecko.driver","D:\\Jar's\\geckodriver-v0.11.1-win64\\geckodriver.exe");
driver = new FirefoxDriver();
希望这有帮助,如果对此有任何疑问,请发表评论,乐意提供帮助:)