Selenium - Использование портативного Firefox 48 с драйвером Marionette

как можно использовать marionetteDriver с портативным FF 48? Я знаю, как это работает с установленным Firefox 48:

String marionetteDriverLocation = getClass().getClassLoader().getResource("[PATH_TO_GECKODRIVER]/wires.exe").getPath();
System.setProperty("webdriver.gecko.driver", marionetteDriverLocation);
WebDriver driver = new MarionetteDriver(createDefaultCapabilitiesFirefox());

и переносной firefox до 46:

FirefoxBinary binary = new FirefoxBinary(new File(firefoxPortablePath));
WebDriver driver = new FirefoxDriver(binary, createFirefoxProfile(),createDefaultCapabilitiesFirefox());

Но что мне делать, если я хочу использовать портативный Firefox 48?


person Pirax    schedule 17.08.2016    source источник


Ответы (2)


Попробуйте то же самое, что и для 46. Только изменения - просто используйте setCapability("marionette", true); в DesiredCapabilities, как показано ниже: -

String marionetteDriverLocation = getClass().getClassLoader().getResource("[PATH_TO_GECKODRIVER]/wires.exe").getPath();
System.setProperty("webdriver.gecko.driver", marionetteDriverLocation);

DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);

FirefoxBinary binary = new FirefoxBinary(new File(firefoxPortablePath));

WebDriver driver = new FirefoxDriver(binary, createFirefoxProfile(), capabilities);
person Saurabh Gaur    schedule 17.08.2016
comment
Тот же результат, что и без марионетки = правда. Браузер запускается, но отображает белое окно. Возможно ли, что geckodriver для FF48 работает только с Selenium3? Я использую gecko0.9.0, потому что более новый требует WebDriver3 / Java8 - person Pirax; 17.08.2016
comment
Какая у вас текущая версия селена? - person Saurabh Gaur; 17.08.2016
comment
Selenium 2.53.1 geckodriver-v0.9.0-win64 Firefox 48.0 Кстати. Когда я использую MarionetteDriver с FF Portable 44, он работает с желаемой марионеткой или без нее = true - person Pirax; 17.08.2016
comment
Один раз попробуйте с пониженной версией geckodriver до 0.8.0 и дайте мне знать .. - person Saurabh Gaur; 17.08.2016
comment
Или обновите свой selenium 2.53.1 до 3 с помощью geckodriver 0.10.0 и используйте тот же предоставленный код и дайте мне знать .. - person Saurabh Gaur; 17.08.2016

Наконец-то работает. gecko 0.8.0 или 0.9.0 не имеет значения. Большое спасибо @Saurabh Gaur Ты сделал мой день!

рабочий код:

String marionetteDriverLocation = getClass().getClassLoader().getResource("[PATH_TO_GECKODRIVER]//wires.exe").getPath();
System.setProperty("webdriver.gecko.driver",marionetteDriverLocation);
DesiredCapabilities capabilities = createDefaultCapabilitiesFirefox();
capabilities.setCapability("marionette", true);
WebDriver driver = new MarionetteDriver(capabilities);
person Pirax    schedule 17.08.2016