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


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

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


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



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




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

 Независимость от платформы и технологии
 Простоту реализации
 Сокращение затрат времени и усилий




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

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




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

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




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




                             9
EggPlant




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




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

                                            12
Sikuli: IDE
Практические рекомендации

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




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




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

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




 “MainPage_OK”   “Popup_OK”    “Button_OK”




                    “OK”


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

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




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

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

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




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

• Создаем удобный лог
[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)

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

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




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

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




           Java + Sikuli




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

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




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

• Настройте инструмент для себя
   – Settings.MoveMouseDelay
   – Settings.MinSimilarity
   – FindFailedResponse




                                  22
Вопросы




          ?


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


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

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


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

More Related Content

What's hot

План тестирования
План тестированияПлан тестирования
План тестирования
EDISON Software Development Centre
 
Jira as a test management tool
Jira as a test management toolJira as a test management tool
Jira as a test management tool
Return on Intelligence
 
Причины и способы имитации back-end'а
Причины и способы имитации back-end'аПричины и способы имитации back-end'а
Причины и способы имитации back-end'а
Oksana Avchinnikova
 
Тестирование инсталляторов
Тестирование инсталляторовТестирование инсталляторов
Тестирование инсталляторов
SQALab
 
Как улучшить тесты на Selenium с помощью "визуального тестирования"?
Как улучшить тесты на Selenium с помощью "визуального тестирования"?Как улучшить тесты на Selenium с помощью "визуального тестирования"?
Как улучшить тесты на Selenium с помощью "визуального тестирования"?
Oksana Avchinnikova
 
Автоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегийАвтоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегий
SQALab
 
Evelina Tananaeva
 Evelina Tananaeva Evelina Tananaeva
Evelina Tananaeva
Alexei Lupan
 
Пользователи в помощь тестировщику
Пользователи в помощь тестировщикуПользователи в помощь тестировщику
Пользователи в помощь тестировщику
Rina Uzhevko
 
About Testers
About TestersAbout Testers
About Testers
antsh
 
Марина Широчкина: Тестирование
Марина Широчкина: ТестированиеМарина Широчкина: Тестирование
Марина Широчкина: Тестирование
Yandex
 
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщика
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщикаПромышленная разработка ПО. Лекция 5. Особенности работы тестировщика
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщика
Mikhail Payson
 
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестированияQA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
QAFest
 
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
QAFest
 
Марина Широчкина - Тестирование
Марина Широчкина - ТестированиеМарина Широчкина - Тестирование
Марина Широчкина - Тестирование
Yandex
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
Return on Intelligence
 
Organization of Automated Testing
Organization of Automated TestingOrganization of Automated Testing
Organization of Automated Testing
Klika Tech, Inc
 
сергей андреев
сергей андреевсергей андреев
сергей андреев
Alexei Lupan
 
iOS and Android Mobile Test Automation
iOS and Android Mobile Test AutomationiOS and Android Mobile Test Automation
iOS and Android Mobile Test Automation
Andrii Dzynia
 
Выбираем стратегию создания бранчей
Выбираем стратегию создания бранчейВыбираем стратегию создания бранчей
Выбираем стратегию создания бранчей
Vitebsk DSC
 

What's hot (19)

План тестирования
План тестированияПлан тестирования
План тестирования
 
Jira as a test management tool
Jira as a test management toolJira as a test management tool
Jira as a test management tool
 
Причины и способы имитации back-end'а
Причины и способы имитации back-end'аПричины и способы имитации back-end'а
Причины и способы имитации back-end'а
 
Тестирование инсталляторов
Тестирование инсталляторовТестирование инсталляторов
Тестирование инсталляторов
 
Как улучшить тесты на Selenium с помощью "визуального тестирования"?
Как улучшить тесты на Selenium с помощью "визуального тестирования"?Как улучшить тесты на Selenium с помощью "визуального тестирования"?
Как улучшить тесты на Selenium с помощью "визуального тестирования"?
 
Автоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегийАвтоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегий
 
Evelina Tananaeva
 Evelina Tananaeva Evelina Tananaeva
Evelina Tananaeva
 
Пользователи в помощь тестировщику
Пользователи в помощь тестировщикуПользователи в помощь тестировщику
Пользователи в помощь тестировщику
 
About Testers
About TestersAbout Testers
About Testers
 
Марина Широчкина: Тестирование
Марина Широчкина: ТестированиеМарина Широчкина: Тестирование
Марина Широчкина: Тестирование
 
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщика
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщикаПромышленная разработка ПО. Лекция 5. Особенности работы тестировщика
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщика
 
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестированияQA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
 
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
 
Марина Широчкина - Тестирование
Марина Широчкина - ТестированиеМарина Широчкина - Тестирование
Марина Широчкина - Тестирование
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Organization of Automated Testing
Organization of Automated TestingOrganization of Automated Testing
Organization of Automated Testing
 
сергей андреев
сергей андреевсергей андреев
сергей андреев
 
iOS and Android Mobile Test Automation
iOS and Android Mobile Test AutomationiOS and Android Mobile Test Automation
iOS and Android Mobile Test Automation
 
Выбираем стратегию создания бранчей
Выбираем стратегию создания бранчейВыбираем стратегию создания бранчей
Выбираем стратегию создания бранчей
 

Similar to Image-based automation

Автоматизация с помощью скриншотов. Как научить скрипт видеть графический инт...
Автоматизация с помощью скриншотов. Как научить скрипт видеть графический инт...Автоматизация с помощью скриншотов. Как научить скрипт видеть графический инт...
Автоматизация с помощью скриншотов. Как научить скрипт видеть графический инт...
SQALab
 
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 practice
nikolay_vasiliev
 
Особенности автоматизации с помощью скриншотов
Особенности автоматизации с помощью скриншотовОсобенности автоматизации с помощью скриншотов
Особенности автоматизации с помощью скриншотов
SQALab
 
Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...
Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...
Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...
sqadays8
 
тестирование
тестированиетестирование
тестирование
Yandex
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
Denis Petelin
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
Denis Petelin
 
Фвтоматизированное тестирование с чего начать Part1
Фвтоматизированное тестирование  с чего начать Part1Фвтоматизированное тестирование  с чего начать Part1
Фвтоматизированное тестирование с чего начать Part1
DataArt
 
Автоматизация тестирования как способ получения знаний
Автоматизация тестирования как способ получения знанийАвтоматизация тестирования как способ получения знаний
Автоматизация тестирования как способ получения знаний
SQALab
 
Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»
Yandex
 
Автоматизация Тестирования - Почему умирают проекты?
Автоматизация Тестирования - Почему умирают проекты?Автоматизация Тестирования - Почему умирают проекты?
Автоматизация Тестирования - Почему умирают проекты?
Igor Khrol
 
Автоматизация тестирования: почему умирают проекты?
Автоматизация тестирования: почему умирают проекты?Автоматизация тестирования: почему умирают проекты?
Автоматизация тестирования: почему умирают проекты?
SQALab
 
чмв лекция №7
чмв   лекция №7чмв   лекция №7
чмв лекция №7
student_kai
 
Внутреннее качество в процедурах информационной безопасности
Внутреннее качество в процедурах информационной безопасностиВнутреннее качество в процедурах информационной безопасности
Внутреннее качество в процедурах информационной безопасности
Alex Babenko
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
Return on Intelligence
 
Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...
Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...
Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...
Ontico
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
Return on Intelligence
 
Introduction into Test Driven Development
Introduction into Test Driven DevelopmentIntroduction into Test Driven Development
Introduction into Test Driven Development
Ivan Dyachenko
 
Шаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проектеШаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проекте
SQALab
 

Similar to Image-based automation (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
 
Особенности автоматизации с помощью скриншотов
Особенности автоматизации с помощью скриншотовОсобенности автоматизации с помощью скриншотов
Особенности автоматизации с помощью скриншотов
 
Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...
Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...
Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...
 
тестирование
тестированиетестирование
тестирование
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Фвтоматизированное тестирование с чего начать Part1
Фвтоматизированное тестирование  с чего начать Part1Фвтоматизированное тестирование  с чего начать Part1
Фвтоматизированное тестирование с чего начать Part1
 
Автоматизация тестирования как способ получения знаний
Автоматизация тестирования как способ получения знанийАвтоматизация тестирования как способ получения знаний
Автоматизация тестирования как способ получения знаний
 
Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»
 
Автоматизация Тестирования - Почему умирают проекты?
Автоматизация Тестирования - Почему умирают проекты?Автоматизация Тестирования - Почему умирают проекты?
Автоматизация Тестирования - Почему умирают проекты?
 
Автоматизация тестирования: почему умирают проекты?
Автоматизация тестирования: почему умирают проекты?Автоматизация тестирования: почему умирают проекты?
Автоматизация тестирования: почему умирают проекты?
 
чмв лекция №7
чмв   лекция №7чмв   лекция №7
чмв лекция №7
 
Внутреннее качество в процедурах информационной безопасности
Внутреннее качество в процедурах информационной безопасностиВнутреннее качество в процедурах информационной безопасности
Внутреннее качество в процедурах информационной безопасности
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...
Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...
Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Introduction into Test Driven Development
Introduction into Test Driven DevelopmentIntroduction into Test Driven Development
Introduction into Test Driven Development
 
Шаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проектеШаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проекте
 

Image-based automation