Практическое применение sikuli script в автоматизации...

26
Практическое применение Sikuli Script в автоматизации тестирования Вадим Зубович DPI Solutions

Upload: sqalab

Post on 02-Jul-2015

450 views

Category:

Education


5 download

DESCRIPTION

Презентация Вадима Зубовича на SQA Days-16 14-15 ноября 2014, Санкт-Петербург, Россия www.sqadays.com

TRANSCRIPT

Page 1: Практическое применение Sikuli Script в автоматизации тестирования

Практическое применение

Sikuli Script в автоматизации

тестирования

Вадим Зубович

DPI Solutions

Page 2: Практическое применение Sikuli Script в автоматизации тестирования

Коротко о себе

Вадим ЗубовичDPI Solutions / ISSoft

Skype: dpi.zubovichE-mail: [email protected]://www.dpi.solutions/

Page 3: Практическое применение Sikuli Script в автоматизации тестирования

Что такое Sikuli Script

Sikuli-Script – библиотека Java, на которой

базируется инструмент для автоматизации Sikuli-X,

в основе которого лежит принцип распознавания

образов и изображений.

Page 4: Практическое применение Sikuli Script в автоматизации тестирования

Profit???

Когда полезен Sikuli-Script:

● Автоматизация Flash

● Проверка наличия и корректности

изображений в приложении

● Автоматизация Active-X приложений

● Автоматизация HTML-5 Canvas

● Здесь может быть ваш пример

Page 5: Практическое применение Sikuli Script в автоматизации тестирования

В чем проблема

Flash, Canvas, Active-X:

Как его видим мы Как его видит WebDriver

Page 6: Практическое применение Sikuli Script в автоматизации тестирования

Sikuli спешит на помощь

Page 7: Практическое применение Sikuli Script в автоматизации тестирования

Ингредиенты

Нам понадобятся:

● Инструмент для снятия скриншотов.

● IDE для работы с Java

● JDK

● Библиотека sikuli-script.jar

Page 8: Практическое применение Sikuli Script в автоматизации тестирования

Подготовка

Скачиваем Sikuli-X setup:

www.sikuli.org/download.html

Page 9: Практическое применение Sikuli Script в автоматизации тестирования

Подготовка

Устанавливаем Sikuli-X:

Page 10: Практическое применение Sikuli Script в автоматизации тестирования

Подготовка

Добавляем библиотеку sikuli-script.jar в локальный

репозиторий Maven:

mvn install:install-file –Dfile=C:\Sikuli-Script\sikuli-script.jar -DgroupId=com.sikuli.script -DartifactId=sikuli–Dversion=1.0.1 -Dpackaging=jar

Page 11: Практическое применение Sikuli Script в автоматизации тестирования

Подготовка

Прописываем зависимость в .POM:

<dependency><groupId>com.sikuli.script</groupId><artifactId>sikuli</artifactId><version>1.0.1</version>

</dependency>

Page 12: Практическое применение Sikuli Script в автоматизации тестирования

Подготовка

Не любите Maven? Добавьте в classpath!

Page 13: Практическое применение Sikuli Script в автоматизации тестирования

Основные классы и методы

App – используется для запуска приложения

App.open(“<path to application>”);

App application = App.open(“<path>”);

application.focus();//переводит фокус на наше приложение

application.window();//Возвращает объект Region, включающий только содержимое окна приложения

Page 14: Практическое применение Sikuli Script в автоматизации тестирования

Основные классы и методы

Screen – охватывает весь экран

Screen scr = new Screen();

scr.click(“<image>”);scr.rightClick(“<image>”);scr.doubleClick(“<image>”);scr.dragDrop(“<source image>”,“<target image>”);scr.hover(“<image>”);scr.paste(“<image>”, “<text>”);

scr.find(“<image>”);//возвращает объект Matchscr.exists(“<image>”);//возвращает объект Matchscr.wait(“<image>”, double milis);//возвращает объект Match

Page 15: Практическое применение Sikuli Script в автоматизации тестирования

Основные классы и методы

Page 16: Практическое применение Sikuli Script в автоматизации тестирования

Основные классы и методы

Region – заданный регион на экране

Region reg = scr.find(“<image>”);

reg.click(“<image>”);reg.rightClick(“<image>”);reg.doubleClick(“<image>”);reg.dragDrop(“<source image>”,“<target image>”);reg.hover(“<image>”);reg.paste(“<image>”, “<text>”);

scr.find(“<image>”);//возвращает объект Matchscr.exists(“<image>”);//возвращает объект Matchscr.wait(“<image>”, double milis);//возвращает объект Match

Page 17: Практическое применение Sikuli Script в автоматизации тестирования

Основные классы и методы

Page 18: Практическое применение Sikuli Script в автоматизации тестирования

Основные классы и методы

Pattern – шаблон для нахождения картинки на экране

Pattern pat = new Pattern(“<image>”);

pat.exact();//будет искать точное совпадениеpat.similar(float similarity);//будет искать совпадение с отклонениемpat.targetOffset(int x, int y);//будет работать с регионом со смещением

Page 19: Практическое применение Sikuli Script в автоматизации тестирования

Особенности архитектуры

На базе Sikuli-Script можно строить привычный

PageObject, но со ссылками на картинки вместо

привычных для WebDriver локаторов.

Page 20: Практическое применение Sikuli Script в автоматизации тестирования

Особенности архитектуры

Хранить картинки удобнее всего в ресурсах,

разложив их по папкам, соответствующим названиям

страниц.

Page 21: Практическое применение Sikuli Script в автоматизации тестирования

Sikuli Web Driver

Sikuli Web Driver – расширение Web Driver,

использующее возможности работы с изображенями,

доступные в Sikuli

Page 22: Практическое применение Sikuli Script в автоматизации тестирования

Sikuli Web Driver

Подключаем зависимость Maven

<dependency><groupId>org.sikuli</groupId><artifactId>sikuli-webdriver</artifactId><version>1.0.1</version>

</dependency>

При этом подключаются org.sikuli.api, org.sikuli.core и org.sikuli.webdriver

Page 23: Практическое применение Sikuli Script в автоматизации тестирования

Sikuli Web Driver

Сама по себе библиотека org.sikuli.api не

содержит методов для взаимодействия с

найденными изображениями

Page 24: Практическое применение Sikuli Script в автоматизации тестирования

Sikuli Web Driver

Как искать элементы с использованием Sikuli Web

Driver:

Page 25: Практическое применение Sikuli Script в автоматизации тестирования

Sikuli + Selenide

Используем Sikuli Web Driver вместе с Selenide

Page 26: Практическое применение Sikuli Script в автоматизации тестирования

Спасибо за внимание

Приятной Вам автоматизации

Вадим ЗубовичDPI Solutions / ISSoft

Skype: dpi.zubovichE-mail: [email protected]://www.dpi.solutions/