RESTful SikuliX - удаленное управление скриптами

Всем поклонникам SikuliX рад сообщить, что главный саппортер проекта, товарищ RaiMan, одобрил включение в новую версию двух экспериментальных модулей - RESTServer и RESTClient. Детальный обзор можно найти в моем блоге. Код тестировался только на Windows OS, посему, набираем добровольцев проверить базовый набор функций на Unix / Mac OS. На данный момент реализованы следующие энд-поинты:

  • http://ip:port/sikuli/cmd/execute - управление command line на удаленной VM.
  • http://ip:port/sikuli/file/upload - files upload на удаленную VM.
  • http://ip:port/sikuli/file/download - file download с удаленной VM.
  • http://ip:port/sikuli/file/delete - удаление файла / каталога с удаленной VM.
  • http://ip:port/sikuli/file/exists - проверка существования файлов / каталогов на удаленной VM.
  • http://ip:port/sikuli/file/createFolder - создание удаленного каталога.
  • http://ip:port/sikuli/file/cleanFolder - очистка удаленного каталога.
  • http://ip:port/sikuli/file/copyFolder - копирование удаленного каталога.
  • http://ip:port/sikuli/image/click - удаленный клик (SikuliX API).
  • http://ip:port/sikuli/image/setText - удаленный ввод текста (SikuliX API).
  • http://ip:port/sikuli/image/dragAndDrop - удаленный d&d (SikuliX API).
  • http://ip:port/sikuli/image/exists - проверка наличия ожидаемой
    картинки на удаленном экране (SikuliX API).

О найденных проблемах / пожеланиях / предложениях пишите в личку, либо в SikuliX комьюнити. Для желающих добавить что-то свое / внести определенные фиксы, создаем pull requests.

1 лайк

Это все конечно хорошо,
а можно привести какую-нибудь user story как это можно испольовать, а то как-то не могу придумать даже задачу где такое может понадобиться.
Спасибо

Что именно? Sikuli или клиент-серверная платформа под него?
Если Sikuli, то, к примеру:

  • Web file upload без input.
  • Взаимодействие с Flash и прочими не имеющими html структуры объектами.
  • Drag&drop с десктопа в браузер + HTML 5 drag&drop.
  • Сравнение изображений.
  • Анализ некоторых репортов.
  • Игровая индустрия.

Упоминать о том, что Sikuli включает в себя библиотеку OpenCV и Tesseract, думаю не стоит. Ответив на вопрос, для чего они могут понадобиться, получите ответ - зачем нужен Sikuli.

Если же вопрос заключался в том, зачем ему нужна клиент-серверная платформа, ответ очевиден - масштабирование. Если вы гоняете ваши тесты сугубо на локальной машине, то вам конечно это не пригодится.

1 лайк

Мои тесты распараллеливает мой CI
можно также воспользоваться и Grid

если только для Flash and HTML5 то тогда понятно

Причем здесь CI / Grid к SikuliX? Еще раз повторюсь - не поленитесь для начала почитать, для чего создавался Sikuli (хотя бы из приведенной выше документации). Или создайте отдельную тему со всеми интересующими вас вопросами.

Мыслите шире. Приведенные примеры касались сугубо web, а Sikuli - это image / text recognition based tool, что собственно позволяет применять его с теми же desktop / mobile apps.

Update: функционал подправлен уже и под Linux, добавлены соответствующие тесты. Ввиду того, что для полноценной работы с Sikuli на Unix системах нужно немного поплясать с бубном, для желающих могу поделиться спецификой настройки под Ubuntu 14.04. Пишите в личку. Если наберется достаточное количество, добавлю гайд в БЗ.