Sikuli

Sikuli - відкрита крос-платформна візуальна середа створення сценаріїв-скриптів, яка орієнтована на програмування графічного інтерфейсу за допомогою зображень (скріншотів).

В якості скриптової мови в Sikuli використовується Jython, тобто в скрипті при бажанні можна використовувати конструкції з мови Python. Sikuli доступна для роботи в Windows, Mac OS X і Linux.


1. Історія

Sikuli з'явилася в 2008 р. як результат спільної роботи доктора Rob Miller (професора в департаменті EECS в MIT), студента Массачусетського технологічного інституту (MIT) з Китаю Sean Tsung-Hsiang Chang, і Tom Yeh - претендента наукового ступеня в Університеті Меріленда (University of Maryland).


2. Концепція технології

Sikuli перекладається з стародавнього індіанського мови Wixarica з Мексики як "око бога", що натякає на можливість бачити все на екрані. Автори нової мови вважають, що деякі завдання, наприклад по автоматизації тестування користувальницького інтерфейсу або пошуку інформації в базі даних, простіше виконувати за допомогою візуальних засобів. Sikuli використовує алгоритми розпізнавання тексту та індексації зображень за допомогою "візуальних слів". Вбудовані функції мови беруть в якості параметрів графічні дані (скріншоти).


3. Ілюстрації, приклади

3.1. Ілюстрація - зображення

Sikuli дозволяє автоматизувати все, що видно на екрані, без поглибленого знання внутрішнього API (що не заважає також писати складні скрипти на Jython). Простий приклад - стежити за зображенням вебкамери за дитиною і, якщо він буде крутитися, подати сигнал. [1]

3.2. Відеоілюстрації

Успішні відеопрімери застосування Sikuli можна подивитися тут:

  1. Sikuli Script Demo (Automatically setting IP on Mac OS X)
  2. Sikuli desktop automation screencast
  3. Sikuli script for automating a Coda / Firefox workflow
  4. Sikuli Tracking Panda in Webcam