29 августа 1997 года компьютерная система Скайнет вышла из-под контроля и нанесла ядерный удар по России. Так началась война между терминаторами и человечеством.
С тех прошёл - страшно подумать - 21 год! И раз мы до сих пор живы, мы решили в этот исторический день зарелизить Selenide 4.14.0
Изменений немного, и они касаются в основном селенидовского прокси-сервера.
Реализовали BasicAuth через прокси
Часто тестовые сервера закрыты паролем (т.н. BasicAuth). (Зачем это нужно - остаётся для меня загадкой, ведь они и так в интранете! Но что поделаешь, есть как есть.)
До сих пор Selenide позволял вам авторизоваться, только добавляя username:password@
в URL.
Но говорят, это работает не во всех браузерах.
Теперь же мы реализовали BasicAuth через прокси-сервер, а не URL.
Грубо говоря, селенид сам добавляет в каждый запрос от браузера к приложению заголовок Authorization: Basic foobar
Этот способ точно работает во всех браузерах. Смело включайте прокси (см. следующий пункт).
См. issue 784 – спасибо Aliaksandr Rasolka за PR 785
Добавили настройку для включения/выключения прокси-сервера
Как вы знаете, Селенид умеет запускать свой встроенный прокси-сервер, который отслеживает запросы между браузером и тестируемым приложением.
Изначально он использовался только для одной функции - скачивания файлов. Поэтому у прокси-сервера не было
какой-то отдельной настройки - он включался настройкой Configuration.fileDownload == PROXY
.
Теперь же использование прокси-сервера расширяется (см. предыдущий пункт), и будет расширяться ещё.
Поэтому мы добавили отдельную настройку для прокси-сервера:
Configuration.proxyEnabled = true | false
(по умолчанию false)
Поясню, почему по умолчанию false
.
Лично я советую всем включать прокси-сервер. Он хороший. Он позволяет делать вещи, которые с голым селениумом просто невозможны.
Он не сработает только в одном случае: если тесты и браузер запускаются на
разных машинах, и машина тестов не видна с машины браузера. Я надеюсь, что у большинства из вас нет такой ерунды. Я
вообще не понимаю, зачем разграничивать доступы между тестовыми серверами в интранете, блин. Но говорят, в
суровых ынтерпрайзах это бывает. Вот из-за них-то мы пока и не включили proxyEnabled
по умолчанию.
Для тонкой настройки прокси-сервера (большинству из вас это не нужно):
Configuration.proxyHost
По умолчанию""
(селенид автоматически подставит IP или имя хоста текущей машины)Configuration.proxyPort
По умолчанию0
(селенид автоматически выберет случайный свободный порт на текущей машине)
Удалили старый хак для IE.
Внимательные читатели могли заметить, что когда Селенид запускает тесты в IE, он автоматически добавляет к каждому
URL параметр ?timestamp=какиетоциферки
. В своё время мы сделали это для того, чтобы заставить IE перегружать страницы.
Нам казалось, что в IE есть баг, из-за которого он иногда при клике не перегружает страницу, а достаёт старую страницу из кэша.
Прошли годы, и теперь я думаю, что клик тогда не работал по другой причине, и этот хак не нужен. Вот мы его и удалили. Ну вы это, жалуйтесь, если у вас это всё-таки аукнется.
Новости
Обновилась статистику скачиваний Selenide за июль. А она скакнула! Мы перевалили 37000 скачек в месяц.
А вы что думаете?
Делитесь своими идеями, как ещё можно использовать прокси-сервер. Обсудим!
ru.selenide.org
29.08.18