[Code Recipe] Как использовать sikuli c webdriver. Пример для http://automated-testing.info

В поддержку новой инициативы - мега склад примеров на github
Создаем примеры по автоматизации вместе, просто присылайте pull requrest
А также инициативы создания at.info code recipes

@ArtOfLife прислал хороший пример, как можно использовать sikuli + webdriver на java. Для этого он реализовал следующее:

  • created wrapper for basic actions
  • created image element interface
  • created basic test using webdriver + sikulix
  • created image element implementation
  • sikulix setup jar can be downloaded here: https://launchpad.net/sikuli/sikulix/1.1.0
  • after finishing with setting up sikulix, sikulix-api.jar from root folder should be installed into local maven repository before test execution
  • actions were implemented via observers - some kind of generic waits for images

Настройка maven:

Код теста:

Реализация Desktop:

Весь код можно посмотреть в нашем мега складе на github at.info-knowledge-base/functional test automation/sikuli/Java Sikuli WebDriver Examples at master · atinfo/at.info-knowledge-base · GitHub

Пусть таких примеров станет больше, присылайте pull request на наш мега-склад примеров.

В добавок отмечу, что механизм обзерверов помогает решить задачи неопределенности, когда неизвестна 100% последовательность появления картинок на экране. Обход этой проблемы частично реализует метод clickAll, который вешает наблюдателей на все переданные картинки, при этом, помечая последнюю, как expected end state.

Глобальный таймаут на все картинки позволит нам не думать о последовательности появления объектов на экране. Сикули будет кликать все, что сейчас находится под наблюдением, пока не достигнет end state или не сработает таймаут.

Тест чисто символический, ничего не тестирующий. Упор делался на возможности нового SikuliX 2014, написанного на Java. Актуальную версию всегда можно собрать самому отсюда.

Я переместил(а) часть сообщений (29) в новую тему: Помогите разобраться с установкой и запуском sikuli