SlideShare uma empresa Scribd logo
1 de 27
Автоматизация с помощью скриншотов
Виталий Шульга, EPAM Systems
О докладчике

                                Виталий Шульга

               Software Test Automation Engineer
                                в EPAM Systems
                                Минск, Беларусь




                    www.linkedin.com/in/vitalliuss
                            vitalliuss@gmail.com
План доклада
1. Технология визуального поиска
  – Что такое визуальный поиск?
  – В чем отличие от стандартных решений?
  – Что мне это даст?
  – В каких случаях это выгодно?
  – Чем можно воспользоваться?
2. Практические рекомендации
3. В чем подвох?
Что такое визуальный поиск?
Сделать снимок экрана



Найти изображение на снимке




Выполнить необходимое действие
Пример скрипта с визуальным поиском
Что нам это даст?

 Независимость от платформы и технологии




                                        6
Что нам это даст?

 Простота реализации




                        7
Что нам это даст?

 Сокращение затрат времени и усилий.




                                        8
В каких случаях это выгодно?

•   Нет доступа к свойствам элементов
•   Свойства есть, но они постоянно меняются
•   Приложение больше не обновляют
•   У нас недостаточно времени
•   У нас недостаточно опыта
•   Мы решили упростить себе жизнь 




                                           9
Чем можно воспользоваться?




                             10
EggPlant




                www.testplant.com
•   Создан как инструмент тестирования
•   Сильный модуль распознавания текста
•   Высокая стабильность работы
•   Хорошая система отчетов
•   Платный
•   Работает только с удаленной машиной (VNC).

                                           11
EggPlant: выполнение сценария




                                12
Sikuli




                 www.sikuli.org
•   Инструмент бесплатный
•   Прост в развертывании и использовании
•   Не требует дополнительной машины
•   Есть API для Java
•   Возможность использовать Jython
•   Слабый модуль распознавания текста
•   Отсутствие подробного отчета.
                                            13
Sikuli: IDE




              14
Краткое сравнение


Лицензия
                        -   +
Язык программирования
                        -   +
Система отчетов
                        +   -
Распознавание текста
                        +   -
Дополнительная машина
                        -   +
API
                        -   +
                                15
Практические рекомендации

• Используем красивые имена изображений




  – click(“1330030896672.png”)
  – click(“button_close.png”)




                                          16
Практические рекомендации

• Используем изображения многократно




“MainPage_OK”    “Popup_OK”    “Button_OK”




                    “OK”


                                             17
Практические рекомендации

• Доверяем только проверенным элементам




   digitsLabel = find(images/config_digits.png)
   digits = digitsLabel.targetOffset(300, 0)

                                                  18
Практические рекомендации

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




                                  19
Практические рекомендации

• Создаем удобный лог
[log][15:12:54] >>> Test start
[log][15:12:54] >>> Assign: PauseOnFail=True
[log][15:12:54] >>> TestScenario: ParallelRunTest
[log][15:12:54] >>> =======================
[log][15:12:54] >>> TestCase: Keying activities
[log][15:12:54] >>> LazyCure.IsOpenState
[log][15:12:54] >>> Call activity window
[log] RIGHT CLICK on (1139,927)
[log][15:13:02] >>> Search for activity window
[log] CLICK on (1052,736)

                                                    20
Практические рекомендации

• Используем взаимодействие с пользователем




                                              21
Практические рекомендации

• Используем больше возможностей инструмента
   – Импорт jar
   – Единое хранилище изображений
   – Поддержка Jython
   – Встроенный режим unit-тестирования
   – Подсветка найденных элементов.




                                               22
Практические рекомендации

• Настроим инструмент для себя
   – Settings.MoveMouseDelay
   – Settings.MinSimilarity
   – Обработка Find Failed.




                                 23
Практические рекомендации

• Используем вызов через API




           Java + Sikuli




                               24
В чем подвох?

• Зависимость от графического интерфейса
• Уменьшение скорости выполнения
  сценария
• Необходимость поддержки скрипта в
  готовности
• Трудности с получением результатов
  работы.




                                           25
Вопросы

  Краткий план доклада
  –   Принцип работы визуального поиска
  –   Отличие от стандартных решений
  –   Плюсы и минусы технологии
  –   Случаи рационального использования
  –   Обзор рынка инструментов
  –   Переиспользование изображений
  –   Взаимодействие с пользователем
  –   Использование API
  –   Настройка инструмента


                                           26
О докладчике

                                Виталий Шульга

               Software Test Automation Engineer
                                в EPAM Systems
                                Минск, Беларусь




                    www.linkedin.com/in/vitalliuss
                            vitalliuss@gmail.com

Mais conteúdo relacionado

Mais procurados

Причины и способы имитации back-end'а
Причины и способы имитации back-end'аПричины и способы имитации back-end'а
Причины и способы имитации back-end'аOksana Avchinnikova
 
Автоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегийАвтоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегийSQALab
 
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...Mail.ru Group
 
iOS and Android Mobile Test Automation
iOS and Android Mobile Test AutomationiOS and Android Mobile Test Automation
iOS and Android Mobile Test AutomationAndrii Dzynia
 
[Expert Fridays] QA MeetUp - Альфия Хайретдинова (Provectus): Плюсы и минусы ...
[Expert Fridays] QA MeetUp - Альфия Хайретдинова (Provectus): Плюсы и минусы ...[Expert Fridays] QA MeetUp - Альфия Хайретдинова (Provectus): Плюсы и минусы ...
[Expert Fridays] QA MeetUp - Альфия Хайретдинова (Provectus): Плюсы и минусы ...Provectus
 
Эволюция нагрузочного тестирования – от простой автоматизации до BDD
Эволюция нагрузочного тестирования – от простой автоматизации до BDDЭволюция нагрузочного тестирования – от простой автоматизации до BDD
Эволюция нагрузочного тестирования – от простой автоматизации до BDDCEE-SEC(R)
 
Алексей Петров, Mail.Ru Group, "Организация конвейера автоматизации тестирова...
Алексей Петров, Mail.Ru Group, "Организация конвейера автоматизации тестирова...Алексей Петров, Mail.Ru Group, "Организация конвейера автоматизации тестирова...
Алексей Петров, Mail.Ru Group, "Организация конвейера автоматизации тестирова...Mail.ru Group
 
Автоматизация тестирования iOS и Android приложений
Автоматизация тестирования iOS и Android приложенийАвтоматизация тестирования iOS и Android приложений
Автоматизация тестирования iOS и Android приложенийAndrei Pugachev
 
Тестирование инсталляторов
Тестирование инсталляторовТестирование инсталляторов
Тестирование инсталляторовSQALab
 
Пользователи в помощь тестировщику
Пользователи в помощь тестировщикуПользователи в помощь тестировщику
Пользователи в помощь тестировщикуRina Uzhevko
 
Оптимизируем тест кейсы
Оптимизируем тест кейсыОптимизируем тест кейсы
Оптимизируем тест кейсыSQALab
 
User Interface Тестирование – все ли так просто?
User Interface Тестирование – все ли так просто?User Interface Тестирование – все ли так просто?
User Interface Тестирование – все ли так просто?SQALab
 
Evelina Tananaeva
 Evelina Tananaeva Evelina Tananaeva
Evelina TananaevaAlexei Lupan
 
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...SQALab
 
Промышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыПромышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыMikhail Payson
 
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщика
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщикаПромышленная разработка ПО. Лекция 5. Особенности работы тестировщика
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщикаMikhail Payson
 
Как сейчас тесты в Android пишут, Денис Неклюдов, Google Dev Expert, Москва
 Как сейчас тесты в Android пишут, Денис Неклюдов, Google Dev Expert, Москва  Как сейчас тесты в Android пишут, Денис Неклюдов, Google Dev Expert, Москва
Как сейчас тесты в Android пишут, Денис Неклюдов, Google Dev Expert, Москва it-people
 
Скандалы, расследования, тестирование
Скандалы, расследования, тестированиеСкандалы, расследования, тестирование
Скандалы, расследования, тестированиеSQALab
 

Mais procurados (20)

Причины и способы имитации back-end'а
Причины и способы имитации back-end'аПричины и способы имитации back-end'а
Причины и способы имитации back-end'а
 
Практика
ПрактикаПрактика
Практика
 
Автоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегийАвтоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегий
 
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
 
iOS and Android Mobile Test Automation
iOS and Android Mobile Test AutomationiOS and Android Mobile Test Automation
iOS and Android Mobile Test Automation
 
[Expert Fridays] QA MeetUp - Альфия Хайретдинова (Provectus): Плюсы и минусы ...
[Expert Fridays] QA MeetUp - Альфия Хайретдинова (Provectus): Плюсы и минусы ...[Expert Fridays] QA MeetUp - Альфия Хайретдинова (Provectus): Плюсы и минусы ...
[Expert Fridays] QA MeetUp - Альфия Хайретдинова (Provectus): Плюсы и минусы ...
 
План тестирования
План тестированияПлан тестирования
План тестирования
 
Эволюция нагрузочного тестирования – от простой автоматизации до BDD
Эволюция нагрузочного тестирования – от простой автоматизации до BDDЭволюция нагрузочного тестирования – от простой автоматизации до BDD
Эволюция нагрузочного тестирования – от простой автоматизации до BDD
 
Алексей Петров, Mail.Ru Group, "Организация конвейера автоматизации тестирова...
Алексей Петров, Mail.Ru Group, "Организация конвейера автоматизации тестирова...Алексей Петров, Mail.Ru Group, "Организация конвейера автоматизации тестирова...
Алексей Петров, Mail.Ru Group, "Организация конвейера автоматизации тестирова...
 
Автоматизация тестирования iOS и Android приложений
Автоматизация тестирования iOS и Android приложенийАвтоматизация тестирования iOS и Android приложений
Автоматизация тестирования iOS и Android приложений
 
Тестирование инсталляторов
Тестирование инсталляторовТестирование инсталляторов
Тестирование инсталляторов
 
Пользователи в помощь тестировщику
Пользователи в помощь тестировщикуПользователи в помощь тестировщику
Пользователи в помощь тестировщику
 
Оптимизируем тест кейсы
Оптимизируем тест кейсыОптимизируем тест кейсы
Оптимизируем тест кейсы
 
User Interface Тестирование – все ли так просто?
User Interface Тестирование – все ли так просто?User Interface Тестирование – все ли так просто?
User Interface Тестирование – все ли так просто?
 
Evelina Tananaeva
 Evelina Tananaeva Evelina Tananaeva
Evelina Tananaeva
 
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
 
Промышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыПромышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. Инструменты
 
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщика
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщикаПромышленная разработка ПО. Лекция 5. Особенности работы тестировщика
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщика
 
Как сейчас тесты в Android пишут, Денис Неклюдов, Google Dev Expert, Москва
 Как сейчас тесты в Android пишут, Денис Неклюдов, Google Dev Expert, Москва  Как сейчас тесты в Android пишут, Денис Неклюдов, Google Dev Expert, Москва
Как сейчас тесты в Android пишут, Денис Неклюдов, Google Dev Expert, Москва
 
Скандалы, расследования, тестирование
Скандалы, расследования, тестированиеСкандалы, расследования, тестирование
Скандалы, расследования, тестирование
 

Semelhante a Автоматизация с помощью скриншотов. Как научить скрипт видеть графический интерфейс и взаимодействовать с ним

Sikuli Test Automation - How to do it?
Sikuli Test Automation - How to do it?Sikuli Test Automation - How to do it?
Sikuli Test Automation - How to do it?Mykhailo Poliarush
 
Software testing in practice
Software testing in practiceSoftware testing in practice
Software testing in practicenikolay_vasiliev
 
Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...
Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...
Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...sqadays8
 
Особенности автоматизации с помощью скриншотов
Особенности автоматизации с помощью скриншотовОсобенности автоматизации с помощью скриншотов
Особенности автоматизации с помощью скриншотовSQALab
 
2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android
2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android
2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под AndroidОмские ИТ-субботники
 
Автоматизация тестирования как способ получения знаний
Автоматизация тестирования как способ получения знанийАвтоматизация тестирования как способ получения знаний
Автоматизация тестирования как способ получения знанийSQALab
 
Шаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проектеШаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проектеSQALab
 
Аналитика мобильных приложений
Аналитика мобильных приложенийАналитика мобильных приложений
Аналитика мобильных приложенийAnatoly Sharifulin
 
Марина Широчкина - Тестирование
Марина Широчкина - ТестированиеМарина Широчкина - Тестирование
Марина Широчкина - ТестированиеYandex
 
Марина Широчкина: Тестирование
Марина Широчкина: ТестированиеМарина Широчкина: Тестирование
Марина Широчкина: ТестированиеYandex
 
Фвтоматизированное тестирование с чего начать Part1
Фвтоматизированное тестирование  с чего начать Part1Фвтоматизированное тестирование  с чего начать Part1
Фвтоматизированное тестирование с чего начать Part1DataArt
 
тестирование
тестированиетестирование
тестированиеYandex
 
чмв лекция №7
чмв   лекция №7чмв   лекция №7
чмв лекция №7student_kai
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в ScrumDenis Petelin
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в ScrumDenis Petelin
 
Виктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public APIВиктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public APIMoscowJS
 

Semelhante a Автоматизация с помощью скриншотов. Как научить скрипт видеть графический интерфейс и взаимодействовать с ним (20)

Sikuli Test Automation - How to do it?
Sikuli Test Automation - How to do it?Sikuli Test Automation - How to do it?
Sikuli Test Automation - How to do it?
 
Software testing in practice
Software testing in practiceSoftware testing in practice
Software testing in practice
 
Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...
Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...
Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Особенности автоматизации с помощью скриншотов
Особенности автоматизации с помощью скриншотовОсобенности автоматизации с помощью скриншотов
Особенности автоматизации с помощью скриншотов
 
Usability_testing
Usability_testingUsability_testing
Usability_testing
 
2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android
2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android
2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android
 
Автоматизация тестирования как способ получения знаний
Автоматизация тестирования как способ получения знанийАвтоматизация тестирования как способ получения знаний
Автоматизация тестирования как способ получения знаний
 
Шаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проектеШаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проекте
 
Qt tool evaluation
Qt tool evaluationQt tool evaluation
Qt tool evaluation
 
Аналитика мобильных приложений
Аналитика мобильных приложенийАналитика мобильных приложений
Аналитика мобильных приложений
 
Марина Широчкина - Тестирование
Марина Широчкина - ТестированиеМарина Широчкина - Тестирование
Марина Широчкина - Тестирование
 
Марина Широчкина: Тестирование
Марина Широчкина: ТестированиеМарина Широчкина: Тестирование
Марина Широчкина: Тестирование
 
SqaВфны8
SqaВфны8SqaВфны8
SqaВфны8
 
Фвтоматизированное тестирование с чего начать Part1
Фвтоматизированное тестирование  с чего начать Part1Фвтоматизированное тестирование  с чего начать Part1
Фвтоматизированное тестирование с чего начать Part1
 
тестирование
тестированиетестирование
тестирование
 
чмв лекция №7
чмв   лекция №7чмв   лекция №7
чмв лекция №7
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Виктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public APIВиктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public API
 

Mais de 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
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве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
 

Mais de 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 автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

Автоматизация с помощью скриншотов. Как научить скрипт видеть графический интерфейс и взаимодействовать с ним

  • 1. Автоматизация с помощью скриншотов Виталий Шульга, EPAM Systems
  • 2. О докладчике Виталий Шульга Software Test Automation Engineer в EPAM Systems Минск, Беларусь www.linkedin.com/in/vitalliuss vitalliuss@gmail.com
  • 3. План доклада 1. Технология визуального поиска – Что такое визуальный поиск? – В чем отличие от стандартных решений? – Что мне это даст? – В каких случаях это выгодно? – Чем можно воспользоваться? 2. Практические рекомендации 3. В чем подвох?
  • 4. Что такое визуальный поиск? Сделать снимок экрана Найти изображение на снимке Выполнить необходимое действие
  • 5. Пример скрипта с визуальным поиском
  • 6. Что нам это даст?  Независимость от платформы и технологии 6
  • 7. Что нам это даст?  Простота реализации 7
  • 8. Что нам это даст?  Сокращение затрат времени и усилий. 8
  • 9. В каких случаях это выгодно? • Нет доступа к свойствам элементов • Свойства есть, но они постоянно меняются • Приложение больше не обновляют • У нас недостаточно времени • У нас недостаточно опыта • Мы решили упростить себе жизнь  9
  • 11. EggPlant www.testplant.com • Создан как инструмент тестирования • Сильный модуль распознавания текста • Высокая стабильность работы • Хорошая система отчетов • Платный • Работает только с удаленной машиной (VNC). 11
  • 13. Sikuli www.sikuli.org • Инструмент бесплатный • Прост в развертывании и использовании • Не требует дополнительной машины • Есть API для Java • Возможность использовать Jython • Слабый модуль распознавания текста • Отсутствие подробного отчета. 13
  • 15. Краткое сравнение Лицензия - + Язык программирования - + Система отчетов + - Распознавание текста + - Дополнительная машина - + API - + 15
  • 16. Практические рекомендации • Используем красивые имена изображений – click(“1330030896672.png”) – click(“button_close.png”) 16
  • 17. Практические рекомендации • Используем изображения многократно “MainPage_OK” “Popup_OK” “Button_OK” “OK” 17
  • 18. Практические рекомендации • Доверяем только проверенным элементам digitsLabel = find(images/config_digits.png) digits = digitsLabel.targetOffset(300, 0) 18
  • 20. Практические рекомендации • Создаем удобный лог [log][15:12:54] >>> Test start [log][15:12:54] >>> Assign: PauseOnFail=True [log][15:12:54] >>> TestScenario: ParallelRunTest [log][15:12:54] >>> ======================= [log][15:12:54] >>> TestCase: Keying activities [log][15:12:54] >>> LazyCure.IsOpenState [log][15:12:54] >>> Call activity window [log] RIGHT CLICK on (1139,927) [log][15:13:02] >>> Search for activity window [log] CLICK on (1052,736) 20
  • 21. Практические рекомендации • Используем взаимодействие с пользователем 21
  • 22. Практические рекомендации • Используем больше возможностей инструмента – Импорт jar – Единое хранилище изображений – Поддержка Jython – Встроенный режим unit-тестирования – Подсветка найденных элементов. 22
  • 23. Практические рекомендации • Настроим инструмент для себя – Settings.MoveMouseDelay – Settings.MinSimilarity – Обработка Find Failed. 23
  • 25. В чем подвох? • Зависимость от графического интерфейса • Уменьшение скорости выполнения сценария • Необходимость поддержки скрипта в готовности • Трудности с получением результатов работы. 25
  • 26. Вопросы Краткий план доклада – Принцип работы визуального поиска – Отличие от стандартных решений – Плюсы и минусы технологии – Случаи рационального использования – Обзор рынка инструментов – Переиспользование изображений – Взаимодействие с пользователем – Использование API – Настройка инструмента 26
  • 27. О докладчике Виталий Шульга Software Test Automation Engineer в EPAM Systems Минск, Беларусь www.linkedin.com/in/vitalliuss vitalliuss@gmail.com