Привет!
Вышла в свет Selenide 3.5 с поддержкой резиновых коллекций. А именно,
Добавили гибкие условия для проверки размера коллекций
Раньше в Selenide можно было только проверять точный размер коллекции:
$$(".man.angry").shouldHave(size(12));
Теперь же - на радость шурупозабивателям - можно проверять и более гибко: больше, меньше и т.п. А именно:
$$(".man.angry").shouldHave(sizeLessThan(13));
$$(".man.angry").shouldHave(sizeLessThanOrEqual(12));
$$(".man.angry").shouldHave(sizeGreaterThan(11));
$$(".man.angry").shouldHave(sizeGreaterThanOrEqual(12));
$$(".man.angry").shouldHave(sizeNotEqual(42));
Спасибо vasilevichra за этот pull request!
P.S. Вообще-то мне до сих пор это кажется сомнительной идеей. Я думаю, что тест должен подготавливать требуемые пред-условия перед запуском тестируемого кода. То есть тест всегда должен точно знать, сколько и каких объектов должно быть на экране. Но народ просил - мы сделали.
Ускорение загрузки страниц
По умолчанию Selenium webdriver ждёт, пока все элементы страницы (html, script, style, img) загрузятся. Это может быть долго, если например, на странице есть большие картинки. И это наверняка не нужно, особенно в случае с Selenide, который по любому умеет ждать наступления ожидаемых условий.
Поэтому в Selenide 3.5 мы включили стратегию загрузки none
. Это должно сделать ваши тесты быстрее.
Если нужно, стратегию можно поменять через настройку:
-Dselenide.page-load-strategy=normal
или прямо в коде:
Configuration.pageLoadStrategy=eager;
Описание всех доступных стратегий есть здесь.
Исправили метод toString()
Selenide умеет выводить подробную информацию о веб-элементах.
То есть когда вы пишите System.out.println($("option#abc"))
, вы увидите в консоли текст и значения всех атрибутов этого веб-элемента:
<option id="abc" value="livemail.ru" selected:true>@livemail.ru</option>
Это здоровская возможность, и кстати, селениум этого не умеет.
Поэтому нам пришлось использовать грязные JavaScript-трюки. Я потом месяц отмывался!
Но оказалось, что этот метод печатает изначальное значение атрибута value
, даже если он был позже изменён динамически.
Эту проблему мы исправили в Selenide 3.5. Теперь метод toString()
всегда печатает свежее значение value
.
Обновились до selenium-java 2.53.0
Список изменений в selenium 2.53.0.
Новости
- Исторический момент: Selenide упомянут в Wikipedia
- Radio QA - Выпуск 20: Лучше Selenide в руках, чем Selenium в небе
- Презентация Якова Крамаренко на конференции SeleniumCamp 2016: Selenide Alternative in Practice
- Рецепты Selenide: Appium + Selenide
- Пост про автоматизацию полиграфического предприятия Ardecs: Selenide предлагает не заморачиваться
- Статья про Selenide в Software testing magazine
- Статья про Selenide от португальца Fabricio Galdino: API Selenide: Developing Functional Tests in Java
Немного статистики
Статистика скачиваний Selenide за февраль 2016:
![](/images/2016/03/selenide.downloads.png)
И количество уникальных IP:
![](/images/2016/03/selenide.unique-ips.png)
Нас всё больше!
Следующий релиз Selenide мы планируем выпустить довольно скоро. И в него мы хотим включить прокси-сервер BrowserMobProxy, чтобы Selenide мог скачивать файлы и делать разную другую магию.
А что у вас новенького?
Андрей Солнцев
ru.selenide.org
31.03.16