Автоматизация с помощью скриншотов. Как научить...
DESCRIPTION
SQA Days 11. День 2. Cекция AВиталий ШульгаEPAM SystemsМинск, БеларусьTRANSCRIPT
Excellence in Software Engineering
Автоматизация с помощью скриншотовВиталий Шульга, EPAM Systems
Excellence in Software Engineering
О докладчике
Виталий Шульга
Software Test Automation Engineerв EPAM SystemsМинск, Беларусь
www.linkedin.com/in/[email protected]
Excellence in Software Engineering
План доклада
1. Технология визуального поиска– Что такое визуальный поиск?– В чем отличие от стандартных решений?– Что мне это даст?– В каких случаях это выгодно?– Чем можно воспользоваться?
2. Практические рекомендации3. В чем подвох?
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 10
Чем можно воспользоваться?
Excellence in Software Engineering 11
• Создан как инструмент тестирования• Сильный модуль распознавания текста• Высокая стабильность работы• Хорошая система отчетов• Платный• Работает только с удаленной машиной (VNC).
EggPlant
www.testplant.com
Excellence in Software Engineering 12
EggPlant: выполнение сценария
Excellence in Software Engineering 13
Sikuli
• Инструмент бесплатный• Прост в развертывании и использовании• Не требует дополнительной машины• Есть API для Java• Возможность использовать Jython• Слабый модуль распознавания текста• Отсутствие подробного отчета.
www.sikuli.org
Excellence in Software Engineering 14
Sikuli: IDE
Excellence in Software Engineering 15
Лицензия - +Язык программирования - +Система отчетов + -Распознавание текста + -Дополнительная машина - +API - +
Краткое сравнение
Excellence in Software Engineering 16
• Используем красивые имена изображений
– click(“1330030896672.png”)– click(“button_close.png”)
Практические рекомендации
Excellence in Software Engineering 17
• Используем изображения многократно
Практические рекомендации
“MainPage_OK” “Popup_OK” “Button_OK”
“OK”
Excellence in Software Engineering 18
• Доверяем только проверенным элементам
Практические рекомендации
digitsLabel = find(images/config_digits.png)
digits = digitsLabel.targetOffset(300, 0)
Excellence in Software Engineering 19
• Сократим распознавание текста
Практические рекомендации
Excellence in Software Engineering 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)
Практические рекомендации
Excellence in Software Engineering 21
• Используем взаимодействие с пользователем
Практические рекомендации
Excellence in Software Engineering 22
• Используем больше возможностей инструмента– Импорт jar– Единое хранилище изображений– Поддержка Jython– Встроенный режим unit-тестирования– Подсветка найденных элементов.
Практические рекомендации
Excellence in Software Engineering 23
• Настроим инструмент для себя– Settings.MoveMouseDelay– Settings.MinSimilarity– Обработка Find Failed.
Практические рекомендации
Excellence in Software Engineering 24
• Используем вызов через API
Java + Sikuli
Практические рекомендации
Excellence in Software Engineering 25
• Зависимость от графического интерфейса• Уменьшение скорости выполнения
сценария• Необходимость поддержки скрипта в
готовности• Трудности с получением результатов
работы.
В чем подвох?
Excellence in Software Engineering 26
Краткий план доклада– Принцип работы визуального поиска– Отличие от стандартных решений– Плюсы и минусы технологии– Случаи рационального использования– Обзор рынка инструментов– Переиспользование изображений– Взаимодействие с пользователем– Использование API– Настройка инструмента
Вопросы
Excellence in Software Engineering
О докладчике
Виталий Шульга
Software Test Automation Engineerв EPAM SystemsМинск, Беларусь
www.linkedin.com/in/[email protected]