Изменения в Selenide 2.12

Изменения в Selenide 2.12

Загрузка файлов, поддержка селектов, логи вебдрайвера
05.07.14

Всем привет!

Хорошие новости: мы зарелизили Selenide 2.12. Давайте посмотрим, что там новенького.

Добавилась функция $.uploadFile(File)

Новая функция позволяет загрузить файл.

   File cv = new File("src/test/resources/cv.pdf");
   $("#cvFileUpload").uploadFile(cv);

Раньше в Selenide уже была похожая функция $.uploadFromClasspath(String fileName). Она искала файл для загрузки в classpath. Нам всегда казалось, что держать тестовые файлы вместе с кодом самих тестов - это правильно (а значит, при сборке проектов эти файлы будут попадать в classpath). Но оказалось, что иногда удобно и загрузить какой-то файл из другого места.


Исправили функцию $.uploadFromClasspath

Выяснилось, что вебдрайвер ругается, если попытаться загрузить файл вида c:/src/test/java/../resources/cv.pdf. Мы дополнили функцию $.uploadFromClasspath, так что она теперь выкидывает лишние части, т.е. нормализует имя файла.

   $("#cvFileUpload").uploadFromClasspath("cv.pdf");


Функция $.val(“джонни”) работает и для селектов

Функция $.val стала немножко умнее. Если её вызвать для поля SELECT, то теперь она выбирает нужный OPTION с соответствующим value. Это ещё один шаг в том направлении, чтобы программист не должен был думать о реализации веб-элемента и мог сконцентрироваться на бизнес-логике. Программист просто пишет $("#sex").val("female") и не думает, что это: INPUT или SELECT - Selenide сама поймёт и сделает нужное действие.

Технически, $("select").val("yes") - это синоним для $("select").selectOptionByValue("yes").


Добавилась функция getWebDriverLogs().

Функция позволяет прочитать логи браузера. Технически - webdriver.manager().logs(). По идее, эти логи могут содержать очень полезную информацию об ошибках браузера или javascript, проблемах производительности и пр. Но фактически функция поддерживается не всеми вебдрайверами и работает непонятно. Если вы знаете об этом больше - поделитесь с нами!


Обновились до Selenium 2.42.2 и HtmlUnit 2.15

Проблем с новым селениумом замечено не было. Работает как часы.

Спасибо авторам Selenium за чудесный продукт!


А что у вас новенького?


05.07.14