Вышел релиз Selenium 2.38
На прошлой неделе случился релиз 2.38, а я ещё не написал список изменений для предыдущей версии 2.37. Поэтому список изменений будет сразу для двух версий.’
Итак, вот что нового появилось в версии 2.38:
Самое главное
- нарушена совместимость с Python 3, пока оставайтесь на версии 2.37, если вы пишете тесты на Python 3!!!
Firefox
- реализована поддержка нативных событий в версии 25, при этом версия 24 является ESR, так что в итоге Selenium 2.38 поддерживает нативные события для версий 17esr, 24esr, 25
- уровень протоколирования нативных частей FirefoxDriver теперь может быть задан переменной окружения SELENIUM_LOG_LEVEL
- отключена Content Security Policy (которая вызывала сбой с характерным сообщением “не удается загрузить файл evaluate.js”)
- укорочено текстовое представление профиля Firefox в логе сервера
- исправлено значение, возвращаемое для capability nativeEvents
- устранены зависания, если в процессе ввода данных в поле ввода возникает проблема, теперь выбрасывается исключение
Internet Explorer
- полностью уничтожен WindowsProxyManager, управление настройками прокси полностью реализовано в IEDriverServer, будьте внимательны, могут быть связанные с новой реализацией баги
Chrome
- устранены “непонятные” сообщения о невозможности остановить Chrome в ситуации, когда его на самом деле не удалось запустить
- реализована остановка chromedriver в ситуации, когда не удается найти исполняемый файл браузера Chrome реализована возможность передачи опции –verbose в драйвер, которая использовется как workaround для одного из критичных багов chromedriver
Safari
- полностью переделана реализация модуля сетевого обмена между браузером и драйвером, должна повыситься стабильность, но могут быть новые баги
- getTagName преобразует название тега в нижний регистр
Разное:
- при перемещении мыши относительно элемента, скрытого в overflow-блоке, сначала выполняется скроллирование так, чтобы этот элемент стал видимым
- устранен бесконечный цикл, возникающий в ситуации, когда documentElement имеет фиксированные координаты
- реализована альтернативная версия аугментера org.openqa.remote.JdkAugmenter, не использующая cglib
- добавлены недостающие условия в Java-реализации ExpectedConditions
- реализована возможность переключения во фрейм по имени или по идентификатору в WebDriverBackedSelenium
- добавлены иконки PhantomJS в консоль Selenium Grid
- исправлены некоторые застарелые ошибки в Selenium RC
А вот какие изменения были в версии 2.36 + 2.37 (2.37 это небольшой баг-фикс релиз для 2.36):
Firefox
- реализована поддержка нативных событий в версии 24, при этом версия 24 является ESR, так что в итоге Selenium 2.38 поддерживает нативные события для версий 17esr, 23, 24esr
- реализована capability elementScrollBehavior, позволяющая бороться со стики-панелями
- исправлено скроллирование элементов во фреймах
- исправлено перетаскивание элементов во фреймах при использовании нативных событий
- реализована возможность установки SOCKS-прокси
Internet Explorer
исправлено вычисление координат элементов при скроллировании с учётом размера скроллбара (чтобы проскроллировать “достаточно далеко” и элементы не оказались спрятанными за скроллбаром)
Разное:
- улучшена поддержка SVG-документов
- улучшены внутрение механизмы поддержки HTML5, выбрасываются более понятные исключения при возникновении проблем
- HtmlUnit обновлен до версии 2.13
А на этой неделе должна выйти уже версия 2.39, потому что грядёт очередное обновление браузера Firefox. Но это ещё не всё – в следующей версии Selenium вас ждёт сюрприз :)