image-based automation

Post on 16-Jun-2015

1.602 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

Excellence in Software Engineering

Автоматизация с помощью скриншотовВиталий Шульга, EPAM Systems

Excellence in Software Engineering

О докладчике

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

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

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

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/vitalliussvitalliuss@gmail.com

top related