воскресенье, 21 февраля 2010 г.

Picture Driven Computing, Java и Python

Мне стало интересно какая ситуация в проекте Jython, когда я заглядывал на их сайт год назад он был скорее мертв, чем жив. Но не все так плохо, проект ожил и развивается ! На cайте Jython вы можете увидеть ссылку на проект Sikuli который меня просто поразил. Sikuli применяет концепцию Picture Driven Computing для программирования скриптов.

Допустим, нам нужно написать скрипт который реализует какой-то сценарий тестирования для GUI приложения под Windows. Традиционный подход - запустить тулзу которая записывает наши действия а потом воспризводит их посылая на GUI элементы такие события как клик мышью, перевод фокуса, ввод текста, нажатие на кнопку, выбор меню и т.д. Чтобы правильно воспроизвести сценарий тулза запоминает координаты контролов, значения которые вы вводите в контролы, последовательность операций. Например , "кликнуть на пятую иконку в третьем ряду таблицы". Вместо того чтобы запоминать позицию иконки, Sikuli использует распознавание образов, запоминает образ иконки которая была нажата, снимает скриншот с экрана. Когда вы воспроизводите сценарий, Sikuli найдет на окне иконку по ее образу и кликнет.

Еще одна приятная новость - можно запускать Django на Jython! Можно использовать Django на платформе Java, Django это отличный web framework, аналог Ruby реализован на Питоне.