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