Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Image-based automation

3,580 views

Published on

Автоматизация с помощью скриншотов. Как научить скрипт видеть графический интерфейс и взаимодействовать с ним. Презентация к докладу для Минского сообщества автоматизаторов тестирования http://www.autotest.by/.
http://www.autotest.by/news/image_based_test_automation

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Image-based automation

  1. 1. Автоматизация с помощью скриншотовВиталий Шульга, EPAM Systems
  2. 2. О докладчике Виталий Шульга Software Test Automation Engineer в EPAM Systems Минск, Беларусь http://www.linkedin.com/in/vitalliuss vitalliuss@gmail.com
  3. 3. План доклада1. Технология визуального поиска – Что такое визуальный поиск? – В чем отличие от стандартных решений? – Что нам это даст? – В чем подвох? – В каких случаях это выгодно? – Чем можно воспользоваться?2. Практические рекомендации
  4. 4. Что такое визуальный поиск?Сделать снимок экранаНайти изображение на снимкеВыполнить необходимое действие
  5. 5. Пример скрипта с визуальным поиском
  6. 6. Что нам это даст? Независимость от платформы и технологии Простоту реализации Сокращение затрат времени и усилий 6
  7. 7. В чем подвох?• Зависимость от графического интерфейса• Уменьшение стабильность работы сценария• Уменьшение скорости выполнения сценария• Необходимость поддержки скрипта в готовности• Трудности с получением результатов работы 7
  8. 8. В каких случаях это выгодно?• Нет доступа к свойствам элементов программы• Свойства есть, но они постоянно меняются• Приложение больше не обновляют• У нас недостаточно времени• У нас недостаточно опыта• Мы решили упростить себе жизнь 8
  9. 9. Чем можно воспользоваться? 9
  10. 10. EggPlant• Создан как инструмент тестирования• Сильный модуль распознавания текста• Высокая стабильность работы• Хорошая система отчетов• Платный• Работает только с удаленной машиной (VNC)
  11. 11. EggPlant: выполнение сценария
  12. 12. Sikuli• Инструмент бесплатный• Прост в развертывании и использовании• Не требует дополнительной машины• Есть API для Java• Возможность использовать Jython• Слабый модуль распознавания текста• Отсутствие подробного отчета 12
  13. 13. Sikuli: IDE
  14. 14. Практические рекомендации• Используем красивые имена изображений – click(“1330030896672.png”) – click(“button_close.png”) 14
  15. 15. Практические рекомендации• Используем изображения многократно “MainPage_OK” “Popup_OK” “Button_OK” “OK” 15
  16. 16. Практические рекомендации• Доверяем проверенным элементам digitsLabel = find(images/config_digits.png) digits = digitsLabel.targetOffset(300, 0) 16
  17. 17. Практические рекомендации• Сократим распознавание текста 17
  18. 18. Практические рекомендации• Создаем удобный лог[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. 19. Практические рекомендации• Используем взаимодействие с пользователем 19
  20. 20. Практические рекомендации• Используем вызов через API Java + Sikuli 20
  21. 21. Практические рекомендации• Используйте больше возможностей инструмента – Импорт jar – Единое хранилище изображений – Поддержка Jython – Встроенный режим unit-тестирования – Подсветка найденных элементов 21
  22. 22. Практические рекомендации• Настройте инструмент для себя – Settings.MoveMouseDelay – Settings.MinSimilarity – FindFailedResponse 22
  23. 23. Вопросы ? 23
  24. 24. О докладчике Виталий Шульга Software Test Automation Engineer в EPAM Systems Минск, Беларусь http://www.linkedin.com/in/vitalliuss vitalliuss@gmail.com

×