SlideShare una empresa de Scribd logo
1 de 26
Это Я




QADnepr Mini Conference
Содержание

                                   Почти
   Теория
                                  практика
• Зачем?                     • Проблемы
• Как?                       • Решения


            QADnepr Mini Conference
Теория


  Зачем?




QADnepr Mini Conference
Стоят в очереди?




    QADnepr Mini Conference
Долго?




QADnepr Mini Conference
… тогда




QADnepr Mini Conference
Теория


     Как?




QADnepr Mini Conference
Готовый инструмент

          TestNG

    Parallel xUnit

                  …
     QADnepr Mini Conference
Собственный алгоритм




      QADnepr Mini Conference
Тесты -> Среда

Test
Test                             Env
Test
       QADnepr Mini Conference
Очередь -> Среды

                              Env

Tests
                              Env
Queue

                              Env
    QADnepr Mini Conference
Почти практика


Проблемы/Решения




    QADnepr Mini Conference
Проблема: зависимости

         Test 2                  …


Test 1                                Test N
                 Init
                state
            QADnepr Mini Conference
Решение




Независимость                 Копии
                          тестовой среды
          QADnepr Mini Conference
Проблема: Логирование

                        Test
   Logger               Test
                         …
                        Test
            QADnepr Mini Conference
Решение: каждому свое

Test 1
           Test 2
Logger 1
                             …
           Logger 2
                                              Test N
                             …
                                              Logger N




                    QADnepr Mini Conference
Инструмент




 QADnepr Mini Conference
QADnepr Mini Conference
Запуск инструмента
0 Hub
       java -jar selenium-server-standalone.jar -role hub

0 RC
    java –jar selenium-server.jar –role rc -hub
http://localhost:4444/grid/register -port 5555

   java –jar selenium-server.jar –role webdriver -hub
http://localhost:4444/grid/register -port 5556




                        QADnepr Mini Conference
QADnepr Mini Conference
Подготовка тестов
               Selenium1
0 Было
   Selenium selenium = new DefaultSelenium(“localhost”,
   4444, “*firefox”, “http://www.google.com”);


0 Стало
   Selenium selenium = new DefaultSelenium(“huburl”, 4444,
   “*firefox”, “http://www.google.com”);




                     QADnepr Mini Conference
Подготовка тестов
              Selenium 2
0 Было
   WebDriver driver = new FirefoxDriver();


0 Стало
   WebDriver driver = new RemoteWebDriver(new
   URL("http://huburl:4444/wd/hub"),
   DesiredCapabilities.firefox());




                       QADnepr Mini Conference
Все проще, чем кажется…




       QADnepr Mini Conference
Спасибо
Распараллеливание тестов с
Selenium Grid v2

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




063-366-22-14
alex.zozulenko
keemdek@gmail.co
m
            QADnepr Mini Conference

Más contenido relacionado

La actualidad más candente

Подводные камни в нагрузочном тестировании
Подводные камни в нагрузочном тестированииПодводные камни в нагрузочном тестировании
Подводные камни в нагрузочном тестировании
Vladimir Sitnikov
 
Проблемы производительности open source библиотек
Проблемы производительности open source библиотекПроблемы производительности open source библиотек
Проблемы производительности open source библиотек
Vladimir Sitnikov
 
Куликовский Дмитрий - Работа системного администратора сегодня
 Куликовский Дмитрий - Работа системного администратора сегодня   Куликовский Дмитрий - Работа системного администратора сегодня
Куликовский Дмитрий - Работа системного администратора сегодня
Yandex
 
Отказоустойчивость и производительность
Отказоустойчивость и производительностьОтказоустойчивость и производительность
Отказоустойчивость и производительность
OpenStackRU
 
Prometheus мониторинг микросервисных приложений / Виталий Левченко
Prometheus мониторинг микросервисных приложений / Виталий ЛевченкоPrometheus мониторинг микросервисных приложений / Виталий Левченко
Prometheus мониторинг микросервисных приложений / Виталий Левченко
Ontico
 
PostgreSQL и JDBC: выжимаем все соки
PostgreSQL и JDBC: выжимаем все сокиPostgreSQL и JDBC: выжимаем все соки
PostgreSQL и JDBC: выжимаем все соки
Vladimir Sitnikov
 

La actualidad más candente (20)

Deployment to production with an unexpected load
Deployment to production with an unexpected loadDeployment to production with an unexpected load
Deployment to production with an unexpected load
 
Implement your own profiler with blackjack and fun
Implement your own profiler with blackjack and funImplement your own profiler with blackjack and fun
Implement your own profiler with blackjack and fun
 
Типовое внедрение мониторинга
Типовое внедрение мониторингаТиповое внедрение мониторинга
Типовое внедрение мониторинга
 
Подводные камни в нагрузочном тестировании
Подводные камни в нагрузочном тестированииПодводные камни в нагрузочном тестировании
Подводные камни в нагрузочном тестировании
 
Трудовые будни инженера производительности
Трудовые будни инженера производительностиТрудовые будни инженера производительности
Трудовые будни инженера производительности
 
A step-by-step approach toward high quality OutOfMemoryError analysis
A step-by-step approach toward high quality OutOfMemoryError analysisA step-by-step approach toward high quality OutOfMemoryError analysis
A step-by-step approach toward high quality OutOfMemoryError analysis
 
"Fault tolerant workflow orchestration on PHP", Anton Tsitou
"Fault tolerant workflow orchestration on PHP", Anton Tsitou"Fault tolerant workflow orchestration on PHP", Anton Tsitou
"Fault tolerant workflow orchestration on PHP", Anton Tsitou
 
Проблемы производительности open source библиотек
Проблемы производительности open source библиотекПроблемы производительности open source библиотек
Проблемы производительности open source библиотек
 
Erlang, который мы потеряли
Erlang, который мы потерялиErlang, который мы потеряли
Erlang, который мы потеряли
 
SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)
SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)
SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)
 
Куликовский Дмитрий - Работа системного администратора сегодня
 Куликовский Дмитрий - Работа системного администратора сегодня   Куликовский Дмитрий - Работа системного администратора сегодня
Куликовский Дмитрий - Работа системного администратора сегодня
 
Отказоустойчивость и производительность
Отказоустойчивость и производительностьОтказоустойчивость и производительность
Отказоустойчивость и производительность
 
Wild Async .NET world: AID Kit for boy-scouts
Wild Async .NET world: AID Kit for boy-scoutsWild Async .NET world: AID Kit for boy-scouts
Wild Async .NET world: AID Kit for boy-scouts
 
Prometheus мониторинг микросервисных приложений / Виталий Левченко
Prometheus мониторинг микросервисных приложений / Виталий ЛевченкоPrometheus мониторинг микросервисных приложений / Виталий Левченко
Prometheus мониторинг микросервисных приложений / Виталий Левченко
 
Do it yourself profiler
Do it yourself profilerDo it yourself profiler
Do it yourself profiler
 
Макс Лапшин - "EventMachine и evented архитектура"
Макс Лапшин - "EventMachine и evented архитектура"Макс Лапшин - "EventMachine и evented архитектура"
Макс Лапшин - "EventMachine и evented архитектура"
 
Мониторинг, когда не тестируешь
Мониторинг, когда не тестируешьМониторинг, когда не тестируешь
Мониторинг, когда не тестируешь
 
Алексей Романчук «Реактивное программирование»
Алексей Романчук «Реактивное программирование»Алексей Романчук «Реактивное программирование»
Алексей Романчук «Реактивное программирование»
 
Минуты из жизни со Spark
Минуты из жизни со SparkМинуты из жизни со Spark
Минуты из жизни со Spark
 
PostgreSQL и JDBC: выжимаем все соки
PostgreSQL и JDBC: выжимаем все сокиPostgreSQL и JDBC: выжимаем все соки
PostgreSQL и JDBC: выжимаем все соки
 

Similar a Алексей Зозуленко - "Использование Selenium Grid 2 для ускорения выполнения тестов"

Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Ontico
 
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытанияCodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest
 
Drupal code sprint для новичков
Drupal code sprint для новичковDrupal code sprint для новичков
Drupal code sprint для новичков
Ovadiah Myrgorod
 
непрерывная интеграция шаг к непрерывному деплою родионов игорь
непрерывная интеграция   шаг к непрерывному деплою родионов игорьнепрерывная интеграция   шаг к непрерывному деплою родионов игорь
непрерывная интеграция шаг к непрерывному деплою родионов игорь
drupalconf
 
Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь
Непрерывная интеграция шаг к непрерывному деплою. Родионов ИгорьНепрерывная интеграция шаг к непрерывному деплою. Родионов Игорь
Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь
PVasili
 
Непрерывная интеграция - шаг к непрерывному деплойменту
Непрерывная интеграция - шаг к непрерывному деплойментуНепрерывная интеграция - шаг к непрерывному деплойменту
Непрерывная интеграция - шаг к непрерывному деплойменту
Игорь Родионов
 
Андрей Лескин, QratorLabs/HLL
Андрей Лескин, QratorLabs/HLLАндрей Лескин, QratorLabs/HLL
Андрей Лескин, QratorLabs/HLL
Ontico
 
Easy authcache 2 кэширование для pro. Родионов Игорь
Easy authcache 2   кэширование для pro. Родионов ИгорьEasy authcache 2   кэширование для pro. Родионов Игорь
Easy authcache 2 кэширование для pro. Родионов Игорь
PVasili
 

Similar a Алексей Зозуленко - "Использование Selenium Grid 2 для ускорения выполнения тестов" (20)

Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)
Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)
Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)
 
Selenium grid on-demand
Selenium grid on-demandSelenium grid on-demand
Selenium grid on-demand
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Организация автоматического тестирования в схеме непрерывной интеграции
Организация автоматического тестирования в схеме непрерывной интеграцииОрганизация автоматического тестирования в схеме непрерывной интеграции
Организация автоматического тестирования в схеме непрерывной интеграции
 
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытанияCodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
 
Каким будет Selenium 3.0 и Selenium 4.0
Каким будет Selenium 3.0 и Selenium 4.0Каким будет Selenium 3.0 и Selenium 4.0
Каким будет Selenium 3.0 и Selenium 4.0
 
HL++2013 Leskin
HL++2013 LeskinHL++2013 Leskin
HL++2013 Leskin
 
Drupal code sprint для новичков
Drupal code sprint для новичковDrupal code sprint для новичков
Drupal code sprint для новичков
 
Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовКирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектов
 
непрерывная интеграция шаг к непрерывному деплою родионов игорь
непрерывная интеграция   шаг к непрерывному деплою родионов игорьнепрерывная интеграция   шаг к непрерывному деплою родионов игорь
непрерывная интеграция шаг к непрерывному деплою родионов игорь
 
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
 
Артем Розуменко - "Как и зачем разрабатывать собственный фреймворк?"
Артем Розуменко - "Как и зачем разрабатывать собственный фреймворк?"Артем Розуменко - "Как и зачем разрабатывать собственный фреймворк?"
Артем Розуменко - "Как и зачем разрабатывать собственный фреймворк?"
 
Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь
Непрерывная интеграция шаг к непрерывному деплою. Родионов ИгорьНепрерывная интеграция шаг к непрерывному деплою. Родионов Игорь
Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь
 
Практика
ПрактикаПрактика
Практика
 
Непрерывная интеграция - шаг к непрерывному деплойменту
Непрерывная интеграция - шаг к непрерывному деплойментуНепрерывная интеграция - шаг к непрерывному деплойменту
Непрерывная интеграция - шаг к непрерывному деплойменту
 
Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)
Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)
Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)
 
Page object with selenide
Page object with selenidePage object with selenide
Page object with selenide
 
Андрей Лескин, QratorLabs/HLL
Андрей Лескин, QratorLabs/HLLАндрей Лескин, QratorLabs/HLL
Андрей Лескин, QratorLabs/HLL
 
Nikita Galkin "5 production Node.js stories"
Nikita Galkin "5 production Node.js stories"Nikita Galkin "5 production Node.js stories"
Nikita Galkin "5 production Node.js stories"
 
Easy authcache 2 кэширование для pro. Родионов Игорь
Easy authcache 2   кэширование для pro. Родионов ИгорьEasy authcache 2   кэширование для pro. Родионов Игорь
Easy authcache 2 кэширование для pro. Родионов Игорь
 

Más de QA Dnepropetrovsk Community (Ukraine)

Работа тестировщиком в Германии - Виктор Малый
Работа тестировщиком в Германии - Виктор МалыйРабота тестировщиком в Германии - Виктор Малый
Работа тестировщиком в Германии - Виктор Малый
QA Dnepropetrovsk Community (Ukraine)
 
тестирование нескольких проектов с пользой для здоровья
тестирование нескольких проектов с пользой для здоровьятестирование нескольких проектов с пользой для здоровья
тестирование нескольких проектов с пользой для здоровья
QA Dnepropetrovsk Community (Ukraine)
 
Impact Analysis в тестировании
Impact Analysis в тестированииImpact Analysis в тестировании
Impact Analysis в тестировании
QA Dnepropetrovsk Community (Ukraine)
 
TPI® Next: оптимизируем процессы тестирования по взрослому
TPI® Next: оптимизируем процессы тестирования по взросломуTPI® Next: оптимизируем процессы тестирования по взрослому
TPI® Next: оптимизируем процессы тестирования по взрослому
QA Dnepropetrovsk Community (Ukraine)
 
Александр Качур - "Android и MeeGo: автоматизация тестовых сценариев"
Александр Качур - "Android и MeeGo: автоматизация тестовых сценариев"Александр Качур - "Android и MeeGo: автоматизация тестовых сценариев"
Александр Качур - "Android и MeeGo: автоматизация тестовых сценариев"
QA Dnepropetrovsk Community (Ukraine)
 
Автоматизация тестирования 3+7 аргументов в пользу Test Complete
Автоматизация тестирования 3+7 аргументов в пользу Test CompleteАвтоматизация тестирования 3+7 аргументов в пользу Test Complete
Автоматизация тестирования 3+7 аргументов в пользу Test Complete
QA Dnepropetrovsk Community (Ukraine)
 
Автоматизация тестирования в Microsoft Team System и “костыли”
Автоматизация тестирования в Microsoft Team System и “костыли”Автоматизация тестирования в Microsoft Team System и “костыли”
Автоматизация тестирования в Microsoft Team System и “костыли”
QA Dnepropetrovsk Community (Ukraine)
 
Team system - фреймворк для автоматизации тестирования от Microsoft
Team system -  фреймворк для автоматизации тестирования от MicrosoftTeam system -  фреймворк для автоматизации тестирования от Microsoft
Team system - фреймворк для автоматизации тестирования от Microsoft
QA Dnepropetrovsk Community (Ukraine)
 

Más de QA Dnepropetrovsk Community (Ukraine) (20)

Работа тестировщиком в Германии - Виктор Малый
Работа тестировщиком в Германии - Виктор МалыйРабота тестировщиком в Германии - Виктор Малый
Работа тестировщиком в Германии - Виктор Малый
 
тестирование нескольких проектов с пользой для здоровья
тестирование нескольких проектов с пользой для здоровьятестирование нескольких проектов с пользой для здоровья
тестирование нескольких проектов с пользой для здоровья
 
When qa sucks
When qa sucksWhen qa sucks
When qa sucks
 
Most typical mistakes of Russians in English
Most typical mistakes of Russians in EnglishMost typical mistakes of Russians in English
Most typical mistakes of Russians in English
 
Особенности параллельного тестирования нескольких проектов
Особенности параллельного тестирования нескольких проектов Особенности параллельного тестирования нескольких проектов
Особенности параллельного тестирования нескольких проектов
 
Профессиональный путь в компаниях Днепропетровска
Профессиональный путь в компаниях ДнепропетровскаПрофессиональный путь в компаниях Днепропетровска
Профессиональный путь в компаниях Днепропетровска
 
Ретроспектива в тестировании
Ретроспектива в тестированииРетроспектива в тестировании
Ретроспектива в тестировании
 
Impact Analysis в тестировании
Impact Analysis в тестированииImpact Analysis в тестировании
Impact Analysis в тестировании
 
TPI® Next: оптимизируем процессы тестирования по взрослому
TPI® Next: оптимизируем процессы тестирования по взросломуTPI® Next: оптимизируем процессы тестирования по взрослому
TPI® Next: оптимизируем процессы тестирования по взрослому
 
Андрей Дзыня - "Watir - начало"
Андрей Дзыня - "Watir - начало"Андрей Дзыня - "Watir - начало"
Андрей Дзыня - "Watir - начало"
 
Иван Лысенко - "Нагрузил, что дальше?"
Иван Лысенко - "Нагрузил, что дальше?"Иван Лысенко - "Нагрузил, что дальше?"
Иван Лысенко - "Нагрузил, что дальше?"
 
Александр Качур - "Android и MeeGo: автоматизация тестовых сценариев"
Александр Качур - "Android и MeeGo: автоматизация тестовых сценариев"Александр Качур - "Android и MeeGo: автоматизация тестовых сценариев"
Александр Качур - "Android и MeeGo: автоматизация тестовых сценариев"
 
Геннадий Алпаев - "Оптимальное покрытие автотестами: генерация случайных данных"
Геннадий Алпаев - "Оптимальное покрытие автотестами: генерация случайных данных"Геннадий Алпаев - "Оптимальное покрытие автотестами: генерация случайных данных"
Геннадий Алпаев - "Оптимальное покрытие автотестами: генерация случайных данных"
 
Автоматизация тестирования 3+7 аргументов в пользу Test Complete
Автоматизация тестирования 3+7 аргументов в пользу Test CompleteАвтоматизация тестирования 3+7 аргументов в пользу Test Complete
Автоматизация тестирования 3+7 аргументов в пользу Test Complete
 
Автоматизация тестирования в Microsoft Team System и “костыли”
Автоматизация тестирования в Microsoft Team System и “костыли”Автоматизация тестирования в Microsoft Team System и “костыли”
Автоматизация тестирования в Microsoft Team System и “костыли”
 
Team system - фреймворк для автоматизации тестирования от Microsoft
Team system -  фреймворк для автоматизации тестирования от MicrosoftTeam system -  фреймворк для автоматизации тестирования от Microsoft
Team system - фреймворк для автоматизации тестирования от Microsoft
 
Project Management Systems
Project Management SystemsProject Management Systems
Project Management Systems
 
Тест-менеджмент и баг-треккинг в SpiraTest
Тест-менеджмент и баг-треккинг в SpiraTestТест-менеджмент и баг-треккинг в SpiraTest
Тест-менеджмент и баг-треккинг в SpiraTest
 
Автопарк требований
Автопарк требованийАвтопарк требований
Автопарк требований
 
Непрерывная интеграция
Непрерывная интеграцияНепрерывная интеграция
Непрерывная интеграция
 

Алексей Зозуленко - "Использование Selenium Grid 2 для ускорения выполнения тестов"