SlideShare ist ein Scribd-Unternehmen logo
1 von 146
Downloaden Sie, um offline zu lesen
Rubber cluster for
Selenium Grid
‣ Создатель сообщества @qa_ru и
@qa_jobs в Telegram
‣ В QA c 2012 года
‣ В IT с 2007 года
‣ Немного пишу код =)
‣ Люблю Linux
‣ Спикер на QAFest 2016 

и XPDays 2016, TestCon 2017
Альфа
Лаборатория
Конкуренция
Time to market
Как уменьшить?
DevOps —>
автоверификация ПО
Протестировать
Успеть за 30 минут:
‣ Прогнать автотесты (регресс)
Успеть за 30 минут:
‣ Прогнать автотесты (регресс)
‣ Проанализировать результаты
прогона автотестов
Успеть за 30 минут:
‣ Прогнать автотесты (регресс)
‣ Проанализировать результаты
прогона автотестов
‣ Сделать приемочное тестирование
Успеть за 30 минут:
Чтобы успеть за 30 минут, надо:
Чтобы успеть за 30 минут, надо:
‣ Ускорить прогон автотестов (до 10 минут)
Чтобы успеть за 30 минут, надо:
‣ Ускорить прогон автотестов (до 10 минут)
‣ Избавиться от очередей на запуск автотестов
Как ускорить прогон автотестов?
‣ Залить проблему $ (купить еще
железа)
Как ускорить прогон автотестов?
‣ Залить проблему $ (купить еще
железа)
‣ Решить проблему инженерным
способом
Как ускорить прогон автотестов?
• Ускорить прогон тестов
• Устранить очереди на запуск
без привлечения $
As is: команды/проекты
‣ Команды, выпускающие релизы от
3-5 раз в день
As is: команды/проекты
‣ Команды, выпускающие релизы от
3-5 раз в день
‣ Команды, выпускающие по 1
релизу раз в 1-2 недели
As is: команды/проекты
‣ Команды, выпускающие релизы от
3-5 раз в день
‣ Команды, выпускающие по 1
релизу раз в 1-2 недели
‣ 20 проектов с автотестами
As is: команды/проекты
CI: Jenkins
VM7
VM 12
VM 2
VM 8
VM 13
VM 3
VM 6
As is:
VM 11
VM 1
VM 9
VM 14
VM 4
VM 10
VM 15
VM 5
1 vm: конфигурация
1 vm: конфигурация
CI: Jenkins
VM 1
• RAM 4 GB
• 2 core
• HDD 50 GB
1 vm: конфигурация
CI: Jenkins
VM 1
• RAM 4 GB
• 2 core
• HDD 50 GB
ОС: windows
CI: Jenkins
1 vm = 2 потока с автотестами
VM 1
CI: Jenkins
VM 2 VM 3VM 1 VM 4 VM 5
As is:
VM7 VM 8VM 6 VM 9 VM 10
VM 12 VM 13VM 11 VM 14 VM 15
ДЦ1
ДЦ2
ДЦ3
1 проект с
автотестами -
это:
‣ от 30 до 70 тестов
1 проект с
автотестами -
это:
‣ от 30 до 70 тестов
‣ Запуск тестов в 1 поток = 30 минут
1 проект с
автотестами -
это:
‣ от 30 до 70 тестов
‣ Запуск тестов в 1 поток = 30 минут
‣ Запуск тестов в 3 потока = 10
минут
1 проект с
автотестами -
это:
‣ от 30 до 70 тестов
‣ Запуск тестов в 1 поток = 30 минут
‣ Запуск тестов в 3 потока = 10
минут
‣ На практике от 5 до 10 потоков
1 проект с
автотестами -
это:
Запуск 20
проектов -
это:
‣ 60 сессий с тестами
Запуск 20
проектов -
это:
‣ 60 сессий с тестами
‣ 15 vm = 30 сессий
Запуск 20
проектов -
это:
‣ 60 сессий с тестами
‣ 15 vm = 30 сессий
‣ 30 сессий отправятся в очередь
Запуск 20
проектов -
это:
30 сессий в очереди
Virtual machines Docker
30 сессий
15 машин = 60 Gb RAM / 30 Cores
500 Mb RAM на 1 контейнерvs
120 сессий
15 машин
2 сессии в машине
Virtual machines Docker
30 сессий
15 машин = 60 Gb RAM / 30 Cores
500 Mb RAM на 1 контейнерvs
120 сессий
15 машин
2 сессии в машине
Virtual machines Docker
30 сессий
vs
15 машин
2 сессии в машине
Virtual machines Docker
30 сессий
15 машин = 60 Gb RAM / 30 Cores
vs
15 машин
2 сессии в машине
Virtual machines Docker
30 сессий
15 машин = 60 Gb RAM / 30 Cores
500 Mb RAM на 1 контейнерvs
15 машин
2 сессии в машине
Virtual machines Docker
30 сессий
15 машин = 60 Gb RAM / 30 Cores
500 Mb RAM на 1 контейнерvs
120 сессий
15 машин
2 сессии в машине
‣ Динамическая песочница
‣ Динамическая песочница
‣ Динамическая песочница
‣ Оркестратор тестов
Динамическая песочница
Host 1
Host 2
Host 5
Host 3
Host 4
Host 6
Host 7
Host 1
Host 2
Host 5
Host 3
Host 4
Host 6
Host 7
Computational cluster
Host 1
Host 2
Host 5
Host 3
Host 4
Host 6
Host 7
Computational cluster
API
Computational cluster
API
Apache

Mesos
Mesosphere

Marathon
Параллелизация
Оркестраторы тестов
‣ Jenkins
Оркестраторы тестов
‣ Jenkins
‣ Selenium grid
Оркестраторы тестов
Selenium grid
спешит на помощь
Hub
Node 2
Hub
Node 5
Node 4
Node 1
Node 3
Node 7
Node 6
Node 9
Node 8
Node 2
Hub
Node 5
Node 4
Node 1
Node 3
Node 7
Node 6
Node 9
Node 8
Node 2
Hub
Node 5
Node 4
Node 1
Node 3
Node 7
Node 6
Node 9
Node 8
Node 2
Hub
Node 5
Node 4
Node 1
Node 3
Node 7
Node 6
Node 9
Node 8
Quick start selenium
grid
Host 1
Host 1
Selenium Standalone Server

.jar file
=
Host 1
Host 1
Host 1
$ java 
-jar selenium-server-standalone.jar  

-role hub
Host 1
$ java 
-jar selenium-server-standalone.jar  

-role hub
Hub

process
Host 1
Hub

process
Host 1
Hub

process
Host 1 Host 2
Hub

process
Host 1 Host 2
Hub

process
Host 1 Host 2
Host 2
$ java 
-jar selenium-server-standalone.jar  

-role node 

-hub http://host1:4444/grid/register
Host 2
Node

process
$ java 
-jar selenium-server-standalone.jar  

-role node 

-hub http://host1:4444/grid/register
Host 2
Node

process
Host 2
Hub

process
Host 2
Node

process
Host 1
Hub

process
Host 2
Node

process
Host 1
Момент из жизни ноды
Момент из жизни ноды
Hub
Node
Момент из жизни ноды
Hub
Node
Привет! Хочешь пообщаться? Я тут:
Host: 192.168.1.5
Port: 5555
А еще я дружу с Chrome!
Момент из жизни ноды
Hub
Node
Привет! Хочешь пообщаться? Я тут:
Host: 192.168.1.5
Port: 5555
А еще я дружу с Chrome!
Ага! На,

потестируй-ка!
Хаб
‣ Принимает запросы с тестами
‣ Распределяет между нодами
Старт грида в docker-
контейнерах
Внутри контейнера с нодой
/opt/selenium$ ls
chromedriver-2.29
selenium-server-standalone.jar
config.json
config.json
echo "
{
"capabilities": [
{
"version": "$CHROME_VERSION",
…
}
],
"maxSession": $NODE_MAX_SESSION,
"port": $NODE_PORT,
…
}"
entry_point.sh
java ${JAVA_OPTS} -jar /opt/selenium/selenium-server-standalone.jar 
-role node 
-hub http://$HUB_HOST:$HUB_PORT/grid/register 
-nodeConfig /opt/selenium/config.json 
${SE_OPTS} &
Запуск контейнера с нодой
$ docker run selenium/node-chrome 
-e HUB_HOST=192.168.1.5 
-e HUB_PORT=4444
Проблемы статических гридов
‣ Деградация нод
‣ Постоянно занимают место
Pipeline job autotests
Pipeline job autotests
Jenkins: Job1
Pipeline job autotests
cli Number Of
Containers
Jenkins: Job1
Pipeline job autotests
cli Number Of
Containers
Jenkins: Job1
cli Create
Selenium Grid
Pipeline job autotests
cli Number Of
Containers
Jenkins: Job1
cli Create
Selenium Grid
run
AutotestsProject
Pipeline job autotests
cli Number Of
Containers
Selenium
Hub
Jenkins: Job1
cli Create
Selenium Grid
run
AutotestsProject
Pipeline job autotests
cli Number Of
Containers
Selenium
Hub
Selenium
chrome
node
Selenium
firefox
node
Selenium
chrome
node
Selenium
firefox
node
Selenium Grid
Hub, node запущены
в docker-контейнерах
Jenkins: Job1
cli Create
Selenium Grid
run
AutotestsProject
Pipeline job autotests
cli Number Of
Containers
Selenium
Hub
Mesos
master
marathon
REST API
Selenium
chrome
node
Selenium
firefox
node
Selenium
chrome
node
Selenium
firefox
node
Selenium Grid
Hub, node запущены
в docker-контейнерах
Jenkins: Job1
cli Create
Selenium Grid
run
AutotestsProject
Pipeline job autotests
cli Number Of
Containers
Selenium
Hub
Mesos
master
marathon
REST API
Selenium
chrome
node
Selenium
firefox
node
Selenium
chrome
node
Selenium
firefox
node
Selenium Grid
Hub, node запущены
в docker-контейнерах
Jenkins: Job1
cli Delete
Selenium Grid
cli Create
Selenium Grid
run
AutotestsProject
Автоматизация
Автоматизация
‣ Вычисления требуемого количества node
Автоматизация
‣ Вычисления требуемого количества node
‣ Получения динамического адреса hub
$ $ ansible-playbook -i inventory play-site.yml 
-e test_id=mytest 
-e nodes_type=chrome 
-e nodes_count=4
$ docker run -p 6666:5555 selenium/node-chrome
$ docker run -p 6666:5555 selenium/node-chrome
$ docker run -p 6666:5555 selenium/node-chrome
Docker container
Selenium

Node
6666
5555
Docker container
Selenium

Node
6666
5555
Host with Mesos
Ports to use:


20000
…
21000
$ docker run 

-p <?>:5555 

selenium/node-chrome
Host with Mesos
Ports to use:


20000
…
21000
$ docker run 

-p 20856:5555 

selenium/node-chrome
Host with Mesos
Ports to use:


20000
…
21000
$ docker run 

-p 20856:5555 

selenium/node-chrome
Host with Mesos
Ports to use:


20000
…
21000
Selenium Node в Mesos
‣ Поднимается на случайном хосте
‣ Получает случайный порт
Docker bridged network
Docker container
Selenium

Node
20345
5555
Reality
Host: 192.168.1.5
Port: 20345
From view of Node
Host: 172.17.0.2
Port: 5555
Hub
Node
Hub
Node
Привет! Хочешь пообщаться? Я тут:
Host: 172.17.0.2
Port: 5555
Hub
Node
Привет! Хочешь пообщаться? Я тут:
Host: 172.17.0.2
Port: 5555
Хах, но на самом деле…
Host: 192.168.1.5
Port: 20345
Hub
Node
Привет! Хочешь пообщаться? Я тут:
Host: 172.17.0.2
Port: 5555
Хах, но на самом деле…
Host: 192.168.1.5
Port: 20345
Ты меня обманула!
Docker host network
Docker container
Selenium Node
20345
Docker host network
Docker container
Selenium Node
20345
X virtual framebuffer
‣ Ему нужен порт
‣ А он уже занят 

другим контейнером!
Docker bridged network
Docker container
Selenium

Node
20345
5555
Docker environment
$HOST: 192.168.1.5
$PORT0: 20345
Reality
Host: 192.168.1.5
Port: 20345
Selenium Node config
{
…
"host": "$HOST",
…
}
Selenium Node config
{
…
"host": "$HOST",
"port": "$PORT0",
…
}
Docker bridged network
Docker container
Selenium

Node
20345
5555 $ docker run 

-p 20345:5555 

selenium/node-chrome
Docker bridged network
Docker container
Selenium

Node
20345
5555 $ docker run 

-p 20345:5555 
-port 20345 

selenium/node-chrome
Docker bridged network
Docker container
Selenium

Node
20345
20345 $ docker run 

-p 20345:5555 
-port 20345 

selenium/node-chrome
Docker bridged network
Docker container
Selenium

Node
20345
20345 $ docker run 

-p 20345:5555 
-port 20345 

selenium/node-chrome
Docker bridged network
Docker container
Selenium

Node
20345
20345 $ docker run 

-p 20345:5555 
-port 20345 

selenium/node-chrome
Порт порту - рознь!
‣ Порт, на котором поднимается нода
‣ Порт, который нода сообщает хабу
advertisePort parameter
@Parameter(names = "-advertisePort")
public Integer advertisePort;
Give it to Hub!
if (advertisePort != null) {
myPort = advertisePort;
}
В итоге
В итоге
• Кластер, в котором создаются докер-
контейнеры
В итоге
• Кластер, в котором создаются докер-
контейнеры
• Selenium grid как приложение
В итоге
• Кластер, в котором создаются докер-
контейнеры
• Selenium grid как приложение
• Jenkins
В итоге
• Кластер, в котором создаются докер-
контейнеры
• Selenium grid как приложение
• Jenkins
• Cкрипты, которые автоматизируют какую-то
работу
Вывод
Используйте 

динамическое управление ресурсами, 

а не статическое
Мои контакты:
@travieso_nastya
traviesonastya
anastasia.aseeva
А еще:
@qa_ru
@qa_jobs

Weitere ähnliche Inhalte

Was ist angesagt?

Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...SQALab
 
Как Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QAКак Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QASQALab
 
Kubernetes
KubernetesKubernetes
KubernetesSQALab
 
Github Flow. Тестировщики против тестирования
Github Flow. Тестировщики против тестированияGithub Flow. Тестировщики против тестирования
Github Flow. Тестировщики против тестированияSQALab
 
Основы и нюансы параллельного тестрования
Основы и нюансы параллельного тестрованияОсновы и нюансы параллельного тестрования
Основы и нюансы параллельного тестрованияbearoff
 
КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"
КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"
КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"Alexander Akbashev
 
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)Ontico
 
Илья Кудинов
Илья КудиновИлья Кудинов
Илья КудиновCodeFest
 
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...Badoo Development
 
Автоматизация тестирования приёмников цифрового телевидения
Автоматизация тестирования приёмников цифрового телевиденияАвтоматизация тестирования приёмников цифрового телевидения
Автоматизация тестирования приёмников цифрового телевиденияSQALab
 
Настраиваемое тестирование производительности
Настраиваемое тестирование производительностиНастраиваемое тестирование производительности
Настраиваемое тестирование производительностиSQALab
 
GUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioGUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioSQALab
 
Ядро автоматизации под микро-сервисную архитектуру
Ядро автоматизации под микро-сервисную архитектуруЯдро автоматизации под микро-сервисную архитектуру
Ядро автоматизации под микро-сервисную архитектуруSQALab
 
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgДело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgIT61
 
Как мы приручили демона или процесс тестирования демонов в Badoo
Как мы приручили демона или процесс тестирования демонов в BadooКак мы приручили демона или процесс тестирования демонов в Badoo
Как мы приручили демона или процесс тестирования демонов в BadooSQALab
 
Автоматизация тестирования многопоточности
Автоматизация тестирования многопоточностиАвтоматизация тестирования многопоточности
Автоматизация тестирования многопоточностиSQALab
 
Автоматизация функционального тестирования REST API
Автоматизация функционального тестирования REST APIАвтоматизация функционального тестирования REST API
Автоматизация функционального тестирования REST APIPavel Asanov
 
Концепция QaAPI: взгляд на тестирование с другой стороны баррикад
Концепция QaAPI: взгляд на тестирование с другой стороны баррикадКонцепция QaAPI: взгляд на тестирование с другой стороны баррикад
Концепция QaAPI: взгляд на тестирование с другой стороны баррикадSQALab
 
Prometheus мониторинг микросервисных приложений / Виталий Левченко
Prometheus мониторинг микросервисных приложений / Виталий ЛевченкоPrometheus мониторинг микросервисных приложений / Виталий Левченко
Prometheus мониторинг микросервисных приложений / Виталий ЛевченкоOntico
 

Was ist angesagt? (20)

Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
 
Как Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QAКак Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QA
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Github Flow. Тестировщики против тестирования
Github Flow. Тестировщики против тестированияGithub Flow. Тестировщики против тестирования
Github Flow. Тестировщики против тестирования
 
Основы и нюансы параллельного тестрования
Основы и нюансы параллельного тестрованияОсновы и нюансы параллельного тестрования
Основы и нюансы параллельного тестрования
 
КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"
КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"
КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"
 
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)
 
Илья Кудинов
Илья КудиновИлья Кудинов
Илья Кудинов
 
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...
 
Автоматизация тестирования приёмников цифрового телевидения
Автоматизация тестирования приёмников цифрового телевиденияАвтоматизация тестирования приёмников цифрового телевидения
Автоматизация тестирования приёмников цифрового телевидения
 
Настраиваемое тестирование производительности
Настраиваемое тестирование производительностиНастраиваемое тестирование производительности
Настраиваемое тестирование производительности
 
GUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioGUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test Studio
 
Ядро автоматизации под микро-сервисную архитектуру
Ядро автоматизации под микро-сервисную архитектуруЯдро автоматизации под микро-сервисную архитектуру
Ядро автоматизации под микро-сервисную архитектуру
 
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgДело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
 
Как мы приручили демона или процесс тестирования демонов в Badoo
Как мы приручили демона или процесс тестирования демонов в BadooКак мы приручили демона или процесс тестирования демонов в Badoo
Как мы приручили демона или процесс тестирования демонов в Badoo
 
Автоматизация тестирования многопоточности
Автоматизация тестирования многопоточностиАвтоматизация тестирования многопоточности
Автоматизация тестирования многопоточности
 
Автоматизация функционального тестирования REST API
Автоматизация функционального тестирования REST APIАвтоматизация функционального тестирования REST API
Автоматизация функционального тестирования REST API
 
10M tests per day
10M tests per day10M tests per day
10M tests per day
 
Концепция QaAPI: взгляд на тестирование с другой стороны баррикад
Концепция QaAPI: взгляд на тестирование с другой стороны баррикадКонцепция QaAPI: взгляд на тестирование с другой стороны баррикад
Концепция QaAPI: взгляд на тестирование с другой стороны баррикад
 
Prometheus мониторинг микросервисных приложений / Виталий Левченко
Prometheus мониторинг микросервисных приложений / Виталий ЛевченкоPrometheus мониторинг микросервисных приложений / Виталий Левченко
Prometheus мониторинг микросервисных приложений / Виталий Левченко
 

Ähnlich wie Selenium grid on-demand

"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23
"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23
"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23MoscowJS
 
CodeFest 2012. Корсаков С. — Cucumber. Некоторые советы по приготовлению
CodeFest 2012. Корсаков С. — Cucumber. Некоторые советы по приготовлениюCodeFest 2012. Корсаков С. — Cucumber. Некоторые советы по приготовлению
CodeFest 2012. Корсаков С. — Cucumber. Некоторые советы по приготовлениюCodeFest
 
«Continuous Integration — A to Z или Непрерывная интеграция — кто всё сломал?»
«Continuous Integration — A to Z или Непрерывная интеграция — кто всё сломал?»«Continuous Integration — A to Z или Непрерывная интеграция — кто всё сломал?»
«Continuous Integration — A to Z или Непрерывная интеграция — кто всё сломал?»FDConf
 
Zero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeZero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeYehor Herasymchuk
 
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытанияCodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытанияCodeFest
 
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемыMoscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемыOleg Nenashev
 
Тестирование серверной конфигурации
Тестирование серверной конфигурацииТестирование серверной конфигурации
Тестирование серверной конфигурацииTimur Batyrshin
 
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"Provectus
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium SQALab
 
Building deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayBuilding deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayAndrey Rebrov
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Ontico
 
Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...
Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...
Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...MoscowJS
 
Эволюционный дизайн. Joker Students Day 2016
Эволюционный дизайн. Joker Students Day 2016Эволюционный дизайн. Joker Students Day 2016
Эволюционный дизайн. Joker Students Day 2016Кирилл Толкачёв
 
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)Ontico
 
Развитие процессов тестирования в Badoo за три года
Развитие процессов тестирования в Badoo за три годаРазвитие процессов тестирования в Badoo за три года
Развитие процессов тестирования в Badoo за три годаSQALab
 
Visual Studio Team Services /TFS helps doing devops
Visual Studio Team Services /TFS helps doing devops Visual Studio Team Services /TFS helps doing devops
Visual Studio Team Services /TFS helps doing devops Konstantin Neradovsky
 
D2D Pizza JS Илья Беда "Куда мы все катимся?"
D2D Pizza JS Илья Беда "Куда мы все катимся?"D2D Pizza JS Илья Беда "Куда мы все катимся?"
D2D Pizza JS Илья Беда "Куда мы все катимся?"Dev2Dev
 

Ähnlich wie Selenium grid on-demand (20)

"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23
"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23
"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23
 
Automation testing desktop applications
Automation testing desktop applicationsAutomation testing desktop applications
Automation testing desktop applications
 
CodeFest 2012. Корсаков С. — Cucumber. Некоторые советы по приготовлению
CodeFest 2012. Корсаков С. — Cucumber. Некоторые советы по приготовлениюCodeFest 2012. Корсаков С. — Cucumber. Некоторые советы по приготовлению
CodeFest 2012. Корсаков С. — Cucumber. Некоторые советы по приготовлению
 
«Continuous Integration — A to Z или Непрерывная интеграция — кто всё сломал?»
«Continuous Integration — A to Z или Непрерывная интеграция — кто всё сломал?»«Continuous Integration — A to Z или Непрерывная интеграция — кто всё сломал?»
«Continuous Integration — A to Z или Непрерывная интеграция — кто всё сломал?»
 
PowerShell
PowerShellPowerShell
PowerShell
 
Zero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeZero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And Forge
 
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытанияCodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
 
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемыMoscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
 
Тестирование серверной конфигурации
Тестирование серверной конфигурацииТестирование серверной конфигурации
Тестирование серверной конфигурации
 
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
 
Building deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayBuilding deployment pipeline - DevOps way
Building deployment pipeline - DevOps way
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...
Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...
Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...
 
Эволюционный дизайн. Joker Students Day 2016
Эволюционный дизайн. Joker Students Day 2016Эволюционный дизайн. Joker Students Day 2016
Эволюционный дизайн. Joker Students Day 2016
 
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)
 
Развитие процессов тестирования в Badoo за три года
Развитие процессов тестирования в Badoo за три годаРазвитие процессов тестирования в Badoo за три года
Развитие процессов тестирования в Badoo за три года
 
Visual Studio Team Services /TFS helps doing devops
Visual Studio Team Services /TFS helps doing devops Visual Studio Team Services /TFS helps doing devops
Visual Studio Team Services /TFS helps doing devops
 
D2D Pizza JS Илья Беда "Куда мы все катимся?"
D2D Pizza JS Илья Беда "Куда мы все катимся?"D2D Pizza JS Илья Беда "Куда мы все катимся?"
D2D Pizza JS Илья Беда "Куда мы все катимся?"
 

Mehr von SQALab

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировкуSQALab
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаSQALab
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиSQALab
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияSQALab
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...SQALab
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testingSQALab
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженSQALab
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииSQALab
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовSQALab
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовSQALab
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsSQALab
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеSQALab
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииSQALab
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестированиеSQALab
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"SQALab
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовSQALab
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных системSQALab
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросSQALab
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...SQALab
 
Истинная сила тестировщика - информация
Истинная сила тестировщика - информацияИстинная сила тестировщика - информация
Истинная сила тестировщика - информацияSQALab
 

Mehr von SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 
Истинная сила тестировщика - информация
Истинная сила тестировщика - информацияИстинная сила тестировщика - информация
Истинная сила тестировщика - информация
 

Selenium grid on-demand