Категорически приветствую!
Вышел Selenide 2.19.
Исправлено несколько мелких проблем, в основном касающихся работы с фреймами и борьбой с самоподписанными сертификатами.
Работа с вложенными фреймами
Дьявол отлично поработал в начале девяностых. Венец его творчества - это фреймы. На дворе 2015 год - биты, бандиты, рэкетиры и бригады остались в прошлом, а фреймы живы и здоровы и до сих пор больно бьют.
Selenium Webdriver умеет худо-бедно переключаться во фрейм, но оказывается, фреймы бывают вложенные! И тут вебдрайвер сдаётся и заставляет пользователей последовательно переключаться сначала в один фрейм, потом во фрейм внутри него и т.д. по цепочке.
В Selenide 2.19 мы добавили удобный метод для переключения сразу в нужный вложенный фрейм одной командой:
import static com.codeborne.selenide.Selenide.*;
switchTo().innerFrame("parentFrame", "childFrame_2", "childFrame_2_1");
Кстати, поиск фрейма ещё и работает быстрее, чем в Selenium, из-за более оптимального использования селекторов.
Спасибо @dimand58 за этот pull request!
PhantomJS теперь умеет работать с самоподписанными сертификатами
Ещё одна находка дьявола - это самоподписанные сертификаты. Это когда администраторы в вашей конторе очень хотят секьюрити и поэтому запускают тестовое приложение на https (типа https://test.company.ru), но на настоящий SSL сертификат деньги жмотят, и поэтому используют в тесте SSL сертификат, который сами же и подписали. В итоге секьюрити никакой не получается, а бедные тестировщики-автоматизаторы получают себе вечный геморрой “браузер плюётся ворнингами”, “файлы не качаются”, “в IE сайт не открывается”. Дьявол довольно потирает копытца.
Производители вебдрайверов тоже подкидывают углей в топку. Ведь есть же стандартная настройка "acceptSslCerts"
,
которую понимают Chrome, FF и даже htmlunit. Так нет же, PhantomJS её не понимает, требует какую-то свою настройку!
А IE так вообще не понимает никаких настроек.
В общем, мы докрутили что надо, теперь PhantomJS открывает “https://test.company.ru” без ругательств.
С IE пока всё глухо. Кто знает рецепт, поделитесь.
Метод $.download()
больше не ругается на самоподписанные сертификаты
Если кто не знал, в Selenide есть аццки удобный метод для скачивания файлов:
File cv = $("#cv").download();
Теперь и он не ругается при попытке скачать файл с “https://test.company.ru”.
Метод $.setValue()
также генерирует событие “focus”
Раньше метод $.setValue()
(в режиме fastSetValue=true
) генерировал события “keydown”, “keypress”, “input”, “keyup”,
“change”. Теперь добавилось ещё “focus”. Я на самом деле не уверен, нужно ли это. Сделал на всякий случай.
Исправили багу со скриншотами из Selenide 2.18
В Selenide 2.18 появилась одна забавная бага: Selenide начал делать слишком много скриншотов. Даже когда тесты не падали. Это не вызывало падения тестов, просто занимало больше место на диске.
Обновились до Selenium Webdriver 2.46.0
Список изменений в 2.46.0 внушителен.
- Появилась бета-версия вебдрайвера Marionette (какой-то новый замут с Firefox)
- В каких-то случаях обещали 10-кратное ускорение старта селениум сервера
- Смерть нативных событий в Firefox 33+
- Смерть старой Оперы (Presto-based)
- Ну и много всего другого
А что у вас новенького?
21.06.15