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.

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

3,830 views

Published on

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

Published in: Education
  • Be the first to comment

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

  1. 1. Практическое применение Sikuli Script в автоматизации тестирования Вадим Зубович DPI Solutions
  2. 2. Коротко о себе Вадим Зубович DPI Solutions / ISSoft Skype: dpi.zubovich E-mail: zubovich@dpisoft.com http://www.dpi.solutions/
  3. 3. Что такое Sikuli Script Sikuli-Script – библиотека Java, на которой базируется инструмент для автоматизации Sikuli-X, в основе которого лежит принцип распознавания образов и изображений.
  4. 4. Profit??? Когда полезен Sikuli-Script: ● Автоматизация Flash ● Автоматизация HTML-5 Canvas ● Автоматизация Active-X приложений ● Проверка наличия и корректности изображений в приложении ● Здесь может быть ваш пример
  5. 5. В чем проблема Flash, Canvas, Active-X: Как его видим мы Как его видит WebDriver
  6. 6. Sikuli спешит на помощь
  7. 7. Ингредиенты Нам понадобятся: ● Инструмент для снятия скриншотов. ● JDK ● IDE для работы с Java ● Библиотека sikuli-script.jar
  8. 8. Подготовка Скачиваем Sikuli-X setup: www.sikuli.org/download.html
  9. 9. Подготовка Устанавливаем Sikuli-X:
  10. 10. Подготовка Добавляем библиотеку sikuli-script.jar в локальный репозиторий Maven: mvn install:install-file –Dfile=C:Sikuli- Scriptsikuli-script.jar - DgroupId=com.sikuli.script -DartifactId=sikuli –Dversion=1.0.1 -Dpackaging=jar
  11. 11. Подготовка Прописываем зависимость в .POM: <dependency> <groupId>com.sikuli.script</groupId> <artifactId>sikuli</artifactId> <version>1.0.1</version> </dependency>
  12. 12. Подготовка Не любите Maven? Добавьте в classpath!
  13. 13. Основные классы и методы App – используется для запуска приложения App.open(“<path to application>”); App application = App.open(“<path>”); application.focus();//переводит фокус на наше приложение application.window();//Возвращает объект Region, включающий только содержимое окна приложения
  14. 14. Основные классы и методы 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>”);//возвращает объект Match scr.exists(“<image>”);//возвращает объект Match scr.wait(“<image>”, double milis);//возвращает объект Match
  15. 15. Основные классы и методы
  16. 16. Основные классы и методы 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>”);//возвращает объект Match scr.exists(“<image>”);//возвращает объект Match scr.wait(“<image>”, double milis);//возвращает объект Match
  17. 17. Основные классы и методы
  18. 18. Основные классы и методы Pattern – шаблон для нахождения картинки на экране Pattern pat = new Pattern(“<image>”); pat.exact();//будет искать точное совпадение pat.similar(float similarity);//будет искать совпадение с отклонением pat.targetOffset(int x, int y);//будет работать с регионом со смещением
  19. 19. Особенности архитектуры На базе Sikuli-Script можно строить привычный PageObject, но со ссылками на картинки вместо привычных для WebDriver локаторов.
  20. 20. Особенности архитектуры Хранить картинки удобнее всего в ресурсах, разложив их по папкам, соответствующим названиям страниц.
  21. 21. Sikuli Web Driver Sikuli Web Driver – расширение Web Driver, использующее возможности работы с изображенями, доступные в Sikuli
  22. 22. 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
  23. 23. Sikuli Web Driver Сама по себе библиотека org.sikuli.api не содержит методов для взаимодействия с найденными изображениями
  24. 24. Sikuli Web Driver Как искать элементы с использованием Sikuli Web Driver:
  25. 25. Sikuli + Selenide Используем Sikuli Web Driver вместе с Selenide
  26. 26. Спасибо за внимание Приятной Вам автоматизации Вадим Зубович DPI Solutions / ISSoft Skype: dpi.zubovich E-mail: zubovich@dpisoft.com http://www.dpi.solutions/

×