Вышла Selenide 5.9.0

Вышла Selenide 5.9.0

Скачай меня умно
10.03.20

Здоровендос!

По всему миру объявлена пандемия flaky тестов, и мы ищем новые лекарства для борьбы с ними.

Сегодня мы выпустили Selenide 5.9.0 с одной фичей, которая может помочь справиться с моргающими тестами.

Добавили фильтр для скачивания файлов: $.download(FileFilter)

Проблема

При скачивании файлов через прокси селенид может иногда скачать не тот файл.
Селенид ведь как скачивает файлы: кликает на кнопку “Скачать” и перехватывает ответ сервера браузеру.

Но иногда в этот момент между браузером и сервером могут лететь какие-нибудь левые запросы, никак не связанные со скачиванием. Например, хром решает проверить обновления. Или ваше приложение шлёт запросы в google analytics. Или просто какие-то фоновые запросы. Это создаёт плодотворную почву для появления flaky тестов, которые у вас на машине работают, а на дженкинсе иногда падают.

Решение

Чтобы избежать таких коллизий, теперь вы можете явно указать, какой файл вы ждёте.
Из коробки есть фильтры по имени и расширению файла, но вы можете создавать свои объекты FileFilter с какими угодно критериями.
И тогда из всех ответов сервера браузеру селенид выберет тот, который подходит под ваш фильтр.

См. примеры в тестах:

File f1 = $("#downloadMe").download(withName("hello_world.txt"));
File f2 = $("#downloadMe").download(withNameMatching("hello_.\\w+\\.txt"));
File f3 = $("#downloadMe").download(timeout, withExtension("txt"));

См. issue 1065 и PR 1080.

Исправили ошибку при старте IE 3.150

См. issue 1061.
Спасибо Boris Osipov за PR 1075.

Исправили ошибку при старте Microsoft Edge

См. issue 1039.
Спасибо Boris Osipov за PR 1084.

Новости

Статистика

Ну и на десерт - статистика скачиваний селенида. Растём!


Андрей Солнцев

ru.selenide.org

10.03.20