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

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

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

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

1 ответ

Решение

Основное преимущество использования предоставляемого Mozilla решения Geckodriver на основе 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 и выше заключается в том, что оно будет работать, а другие решения - нет.

Другие вопросы по тегам