Каковы преимущества использования Marionette FirefoxDriver вместо старого Selenium FirefoxDriver для тестера Selenium?

В последние недели было много шума по поводу этого нового FirefoxDriver под названием Marionette. Чтобы использовать Firefox с Selenium, мы использовали старый "Selenium FirefoxDriver". Из Firefox 48.0 и далее потребуется использовать этот новый FirefoxDriver, разработанный Mozilla.

Я понимаю, что необходимо изменить в этом направлении, чтобы каждый браузер поддерживал и развивал свои драйверы и чтобы драйверы не зависели от Selenium. Кроме того, предполагается, что если Mozilla разработает собственный драйвер, быстрее и проще будет исправить проблемы и разработать функции.

Мой вопрос заключается в том, что для тех, кто создает автоматические тесты с использованием Selenium framework, существует ли какая-либо польза от использования Marionette вместо "старого" Selenium, поддерживаемого FirefoxDriver? _ (Например, чтобы повысить производительность, лучшая совместимость...)

Ответ 1

Основное преимущество использования Gillaodriver на основе Marionette - это то, что он работает для версий Firefox 48 и выше. Унаследованный драйвер, предоставляемый и поддерживаемый проектом Selenium, не работает для Firefox 48 или выше и никогда не будет работать для этих версий Firefox.

Унаследованный драйвер реализован как расширение Firefox. Это расширение устанавливается в профиле, используемом драйвером, когда WebDriver запускает Firefox. Firefox 48 представил две новые функции, которые отключили расширение этого браузера. Первая - так называемая функция "электролиз" или многопроцессорный Firefox. Электролиз меняет то, как расширения должны иметь дело с браузером, так как команда Selenium не успела полностью понять.

Во-вторых, более важным требованием является то, что все расширения браузера должны быть подписаны Mozilla, прежде чем браузер позволит им загрузить. Эта последняя функция была в Firefox для нескольких версий, но начиная с 48, она больше не может быть отключена. Расширение браузера WebDriver вводит несколько действительных проблем безопасности для браузера Firefox и, таким образом, не будет подписано командой безопасности Mozilla. Это, в свою очередь, делает расширение неработоспособным, и, таким образом, Selenium больше не может общаться с Firefox. Решение Marionette, разрабатываемое и поддерживаемое Mozilla, в первую очередь, благословляется ими для использования в автоматизации Firefox, и поэтому несет обязательство, что оно будет продолжать работать с будущими версиями, продвигающимися вперед.

Итак, основное преимущество использования Marionette с Firefox 48 и выше заключается в том, что он будет работать, тогда как другие решения не будут.