parallelization of tests with seleniugrid

43
Распараллеливание тестов с использованием Selenium Grid Зозуленко Алексей QA Team Lead Golden Planet

Upload: oleksii-zozulenko

Post on 23-Jun-2015

7.058 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Parallelization of tests with SeleniuGrid

Распараллеливание тестов с использованием Selenium Grid

Зозуленко АлексейQA Team LeadGolden Planet

Page 2: Parallelization of tests with SeleniuGrid

Содержание

Печальная сказка о тестировании

Игрушка: Selenium Grid

Играем по новому

Вне правил

Инструменты и интеграция

Итоги

Page 3: Parallelization of tests with SeleniuGrid

В далеком государстве...

Сказка о тестировании

Page 4: Parallelization of tests with SeleniuGrid

Cначала немного…

Page 5: Parallelization of tests with SeleniuGrid

потом больше …

Page 6: Parallelization of tests with SeleniuGrid

еще больше …

Page 7: Parallelization of tests with SeleniuGrid

совсем много ...

Page 8: Parallelization of tests with SeleniuGrid

и все стоят в огромной очереди!

Page 9: Parallelization of tests with SeleniuGrid

становиться печально

Page 10: Parallelization of tests with SeleniuGrid

приходит депрессия

Page 11: Parallelization of tests with SeleniuGrid

Что же делать?

Page 12: Parallelization of tests with SeleniuGrid

ВЫХОД ЕСТЬ!!!

Page 13: Parallelization of tests with SeleniuGrid

Распараллеливание

Page 14: Parallelization of tests with SeleniuGrid
Page 15: Parallelization of tests with SeleniuGrid

Что это за игрушка?

Хранение Selenium RC серверов

Выполнение тестов в разных окружениях

Распараллеливание ваших тестов

Page 16: Parallelization of tests with SeleniuGrid

Как работает?

Page 17: Parallelization of tests with SeleniuGrid

Grid Console

Доступна по адресу: http://seleniumgridurl:4444/console

Page 18: Parallelization of tests with SeleniuGrid

Положительные стороны

Сам решает где выполнять тест

Один интерфейс для доступа

Не нужны дополнительные ресурсы

Page 19: Parallelization of tests with SeleniuGrid

Ресурсы для Grid

Сервер для GridHub

Сервер для запуска тестов

Компьютеры вашей сети

Page 20: Parallelization of tests with SeleniuGrid

Отрицательные

✘Нельзя узнать количество ресурсов

✘Нет интеграции с WebDriver

Page 21: Parallelization of tests with SeleniuGrid

Новые правила игры

Page 22: Parallelization of tests with SeleniuGrid

Шаги от RC к Grid

Обучить Runner распараллеливать

тесты

Заменить URL RC на URL GridHub

Page 23: Parallelization of tests with SeleniuGrid

Обучить Runner

Список конфигураций

Оперировать схожими конфигурациями

Управлять очередью тестов

Page 24: Parallelization of tests with SeleniuGrid

Заменить URL

RC: new DefaultSelenium("localhost", 4444, “*firefox”, “http://amazon.com”);

Grid: new DefaultSelenium(“http://gridhuburl", 4444, “*firefox”’, 'http://amazon.com');

Page 25: Parallelization of tests with SeleniuGrid

Какие же подводные камни?

Page 26: Parallelization of tests with SeleniuGrid

Зависимости тестов

Page 27: Parallelization of tests with SeleniuGrid

Решение:

Создать дублирующие конфигурации хостов

Page 28: Parallelization of tests with SeleniuGrid

Конфигурационные файлы

*Копипаст рулит

Page 29: Parallelization of tests with SeleniuGrid

Заменяем на Google Spreadsheet

Один файл

Одна таблица

Удобно редактировать

Page 30: Parallelization of tests with SeleniuGrid

Логирование результатов

Один файл логов

Конкурентное использование логера

Page 31: Parallelization of tests with SeleniuGrid

Каждому тесту своя морковка

Page 32: Parallelization of tests with SeleniuGrid

Еще изменения

Место запуска тестов

Отладка

Page 33: Parallelization of tests with SeleniuGrid

Отладка тестов

Использовать старый метод отладки

Локально запущеный GridHub с RC

Page 34: Parallelization of tests with SeleniuGrid

Инструменты

Hudson

Page 35: Parallelization of tests with SeleniuGrid

Hudson

Запуск/перезапуск Grid Hub

Развертывание RC

Запуск тестов

Page 36: Parallelization of tests with SeleniuGrid

Hudson Slave как клиент с RC

Page 37: Parallelization of tests with SeleniuGrid

и наступило счастье…

Page 38: Parallelization of tests with SeleniuGrid

Что в итоге?

Page 39: Parallelization of tests with SeleniuGrid

Ускорение выполнения тестов

Page 40: Parallelization of tests with SeleniuGrid
Page 41: Parallelization of tests with SeleniuGrid
Page 42: Parallelization of tests with SeleniuGrid

Selenium Grid

Более быстрое выполнение тестов

Не нужны дополнительные ресурсы.

Page 43: Parallelization of tests with SeleniuGrid

Зозуленко Алексей

Email: [email protected]: alex.zozulenko

Selenium GridСпасибо за внимание