Эквивалент FirefoxDriver (* профиль *) для MarionetteDriver в Selenium Webdriver?

Я пытаюсь преобразовать некоторые тесты Selenium с FirefoxDriver на MarionetteDriver, но у меня возникают проблемы с PKI. Мое решение до сих пор состояло в том, чтобы использовать различные профили Firefox, которые имеют только одну пользовательскую PKI, и автоматически выбирать ее для входа в систему. Однако похоже, что конструктор MarionetteDriver не имеет возможности запускать Firefox с пользовательским профилем. Как это исправить?

Я обошел это в Python, заставив Python запустить Firefox перед подключением к нему с помощью Marionette, но я не знаю, есть ли у Selenium WebDriver такая возможность.


person Inglonias    schedule 16.06.2016    source источник


Ответы (1)


Вы не должны использовать MarionetteDriver. Как указано в документации:

/** * Реализация интерфейса {#link WebDriver}, который управляет Firefox с помощью интерфейса Marionette. * * @deprecated Следует использовать FirefoxDriver с возможностью marionette = true или false соответственно. */

Вы должны запустить FirefoxDriver и включить марионетку в желаемых возможностях.

DesiredCapabilities dc=DesiredCapabilities.firefox();
FirefoxProfile profile = new FirefoxProfile();
dc.setCapability(FirefoxDriver.PROFILE, profile);
dc.setCapability("marionette", true);
Webdriver driver =  new FirefoxDriver(dc);
person RemcoW    schedule 16.06.2016
comment
К сожалению, это приводит к сбою Firefox, вероятно, из-за этой проблемы здесь: github.com/seleniumhq/ selenium/issues/2110 Вполне вероятно, что ваш ответ правильный, но пока я не могу отметить его как таковой, потому что он не приводит к желаемому поведению. - person Inglonias; 16.06.2016
comment
@Inglonias Я напутал с названием возможности, не могли бы вы попробовать еще раз? - person RemcoW; 16.06.2016
comment
Я могу использовать MarionetteDriver с нужными возможностями, так что пока сделаю это. РЕДАКТИРОВАТЬ: Или нет... Сейчас он просто висит. Вероятно, из-за того, что я изменил порт Marionette по умолчанию для этого профиля. - person Inglonias; 16.06.2016
comment
Дело было не в этом. Я не знаю, в чем проблема, и эта проблема меня смущает. Документация Mozilla (на которую ссылается проблема, о которой я упоминал выше) говорит, что я должен использовать MarionetteDriver - person Inglonias; 16.06.2016
comment
У меня отлично работает с FF48. - person Jitesh Sojitra; 01.09.2016