Използване на SikuliX във фонов режим на Cloud9

SikuliX (старо име Sikuli) е инструмент, който ви позволява да автоматизирате това, което виждате на екрана, като използвате визуално разпознаване (снимки). Хабре вече има достатъчно информация за него, но всички примери предполагат използването на истински екран.

Тук ще опиша моя опит с използването на SikuliX във фонов режим на Cloud9 IDE на облака Cloud9. В процеса на работа с този инструмент получих няколко неравности, така че може би опитът ми ще бъде полезен на някого.

Има много начини за използване на SikuliX, ето някои от действията, които можете да автоматизирате:

  • Работа с флаш сайтове (и всякакви други)
  • Автоматизация на браузърните игри (реколта във фермата)
  • Работа с настолни приложения
  • Компютърни настройки
  • Различни ботове
  • Всички видове рутинна работа със сайтове/документи

В моя случай беше необходимо да се автоматизира рутинната работа с флаш сайт, да влезете, да изберете конкретен елемент от падащия списък и да натиснете няколко бутона. Отнемаше около 1-3 минути няколко пъти на ден. След като използвате SikuliX, това може да стане чрез просто стартиране на скрипта и да отделите свободното си време за по-полезни неща (например, научете английски).

Инсталиране на зависимости

SikuliX разчита на инструменти като OpenCV (компютърно зрение) и Tesseract (разпознаване на текст). Затова ще ги инсталираме. Нека започнем с OpenCV.

Инсталирането на OpenCV не беше много лесно, затова използвах този скрипт, който ще инсталира и изгради всичко необходимо. Ще го клонираме, ще предоставим права за изпълнение и ще стартираме.


Трябва да кажа, че инсталацията на OpenCV „изяжда“ почти всички ресурси, които cloud9 предоставя в безплатен режим. Би било по-лесно с платен план, но това, което имам, ми беше достатъчно. Процесът на изграждане беше 2,15 часа, по това време можете да се занимавате с бизнеса си, не би трябвало да има проблеми. След инсталацията папката 3d1fce8dae65e765f7c4 може да бъде изтрита (ще освободи почти цялата памет).

Инсталирането на Tesseract е просто:


За да инсталираме самия SikuliX, все още ни е необходим реален екран (Java ограничение). Решението беше да стартира X11. За да предоставим необходимите компоненти, можем да използваме този скрипт. Включва супервизор, xvfb, fluxbox, x11vnc. За да стартираме, можем да преместим файловете run.sh и supervisord.conf в корена или да коригираме пътя към supervisord.conf във файла run.sh