Selenium: Накачиваем Мышцы |
21.06.2018 16:18 |
Оригинальная публикация: http://habr.com/post/344340/ Прошло довольно много времени с момента нашей последней статьи об эффективной Selenium-инфраструктуре. Если вы находитесь в самом начале непростого пути Selenium — советую ознакомиться с нашими статьями про масштабируемый Selenium (часть I, часть II), Selenoid — универсальный инструмент для автоматизации тестов в браузерах (раз, два), Selenium под Windows (ссылка). Если вам больше нравятся мотивирующие рассказы — посмотрите видео моего доклада про масштабируемый Selenium на SeleniumConf Berlin 2017. С момента публикации последней статьи в нашем сообществе произошло много интересного. Сегодня я хочу рассказать о самых важных возможностях, добавленных в наши инструменты за последние месяцы. GgrНаш Selenium балансировщик получил несколько крутых улучшений.
При добавлении таких флагов любые браузеры из файла
Обратите внимание на протокол SelenoidНаиболее многочисленные изменения были сделаны в нашем, как говорят, "флагманском" open-source продукте — Selenoid. Selenoid — это полноценная замена Selenium-хаба, запускающая браузеры в Docker контейнерах: Больше Возможностей НастройкиТеперь вы имеете гораздо больше возможностей по настройке окружения браузера. Например, в конфигурационном файле вы можете задавать любые переменные окружения, записи файла
Это позволяет, например, переопределять для каждой версии браузера часовой пояс или добавлять хосты из внутренней сети без изменения настроек DNS. В дополнение к этим настройкам вы можете изменять некоторые параметры отдельно для каждой запущенной сессии при помощи capabilities. Новые Capabilities1. Если вы запускаете несколько тестов параллельно, то, чтобы различить их в Selenoid UI, вы можете указать капабилити
Вот как это выглядит в UI: 2. Если тестируемое приложение также запускается в Docker контейнере — вы можете автоматически связать (link) контейнер с браузером с контейнером приложения, указав его имя:
3. Иногда требуется переопределить содержимое
4. Наконец, чтобы переопределить часовой пояс для одной сессии — укажите:
Улучшения в ЛогированииМы добавили два важных улучшения в логирование: 1. Если браузеры запускаются в контейнерах — любые логи, отправленные в централизованное хранилище логов (такое как Amazon CloudWatch или Google Cloud logging), могут теперь быть помечены произвольной меткой. Значение метки указывается при помощи capability 2. Если вы запускаете Selenoid без Docker — вы, наконец, можете включить логи веб-драйверов в логи Selenoid. Для того, чтобы это заработало, нужно добавить флаг
Образы с БраузерамиМы пересобрали все образы с браузерами, добавив поддержку всех UTF-8 локалей и дополнительные шрифты для правильного отображения таких символов как:
Selenoid UIМы полностью переделали внешний вид Selenoid UI — графического веб-интерфейса для Selenoid. Наиболее часто используемые возможности такие как статистика использования браузеров и кнопки для просмотра сессий теперь располагаются на главной странице. Реже используемый экран выбора capabilities был унесен на отдельную вкладку. Экран запущенного браузера и логи сессии теперь показываются на одной экране рядом друг с другом. Configuration ManagerConfiguration Manager — маленькое приложение, значительно упрощающее установку наших инструментов, стало еще более удобным. Теперь поддерживается возможность настройки Selenoid для работы с Microsoft Edge и Safari. Свежие версии CM работают без проблем на Windows 10. Вы также можете переопределить порт, на котором слушает Selenoid и Selenoid UI, например, чтобы одновременно запустить Selenium server и Selenoid. Мы также сделали вывод CM приятным для глаза, раскрасив логи разными цветами. Запись ВидеоВишенкой на торте является недавно добавленная возможность записывать видео браузерных сессий. В дополнение к возможности смотреть на экран браузера в реальном времени в Selenoid UI теперь стало возможно записать видео с экрана браузера и сохранить его в файле формата H264. Видео выглядит примерно так: Для того, чтобы записать видео, просто добавьте одну capability в тесты:
По-умолчанию все записанные видео называются
Selenoid автоматически предоставляет доступ к каталогу с видео по HTTP. Чтобы открыть файл в браузере, используйте URL:
Чтобы посмотреть весь список файлов — сотрите имя файла:
Я надеюсь теперь у вас есть гораздо больше мотивации, чтобы настроить в своей команде действительно эффективную инфраструктуру Selenium. Поверьте, запуск тестов в браузерах может быть безболезненным! Если у вас есть какие-то вопросы — не стесняйтесь писать нам на почту, в Telegram-канал поддержки или отправляйте вопросы на StackOverflow тег. Если вы уже используете Kubernetes в своих процессах — вас также может заинтересовать наш новый продукт — Moon, который был специально разработан для развертывания эффективного кластера Selenium в Kubernetes и поддерживает все лучшее, что есть в Selenoid. |