Automated UI Tester for Adobe® ActionScript® is code named as Genie.
Джин - вот то, что поможет нам в автоматизации тестирования флешевых приложений! Джин создан для флеша, не требует доступа к исходному коду или запуска внутри приложения и может запускаться в фоне (в отличии от Sikuli). Его отличительной способностью является умение однозначно определять любой элемент внутри флеша (epic win!). Можно записывать произведенные действия скриптами и запускать их! Правда, после доработки напильником, но по сравнению с тем же Sikuli (сразу оговорюсь, что ничего не имею против самой проги - она отлична и достойна похвал, но для флеша её ценность стремится к нулю) это просто песня.Что нужно для его запуска? Сам Джин конечно же, Эклипс, дебажный флеш-плеер и немного усилий в продирании по англоязычному гайду.
Итак, начнем.
Тут http://sourceforge.net/adobe/genie/wiki2/FAQ/ как можно догадаться, FAQ. Квитэссенцию прелестей я изложила выше.
Там же можно нажать Files, чтобы перейти к документации и файлам http://sourceforge.net/projects/genie.adobe/files/
В документации есть pdfка UserGuide, в которой очень подробно и хорошо, но на английском. расписывается что к чему и почему. Я постараюсь на русском изложить все, что оттуда удалось выдрать. Сразу оговорюсь, что у меня Винда, а работает эта штука только в опере, хотя написано, что поддерживает все браузеры с флешем (и как раз опера там не указана). Т.е моя конфигурация - Windows 7, Opera.
Итак,
1. Скачать из директории с файлами архив Genie-binary.zip и распаковать его куда угодно.
2. Установить дебажный флеш-плеер, инструкция любезно прилагает ссылку для скачивания http://www.adobe.com/support/flashplayer/downloads.html (разумеется, выберите подходящий для вашей оси и разрядности)
2. Установить Яву (JDK - Java Development Kit), тоже любезно прилагается ссылка
3. Ну и поскольку Джин у нас является эклипсовым плагином, то конечно нужен Эклипс, скачать тут
Это все был подготовительный этап, начинается впилка.
4. Наш разархивированный Джин лежит себе на диске с путем [GeniunePath], и этот путь нам еще пригодится.
5. Копируем из нашего [GeniunePath]\GeniePlugin файлик GeniePlugin.jar и закидываем его в папку с плагинами Эклипса, например D:\Eclipse\Plugins
6. Копируем также из [GeniunePath]\GenieLibrary файл mm.cfg в пользовательскую папку, т.е. C:\Documents and Settings\testuser\
7. Теперь открываем его в блокноте и правим путь к SWFке, должно получится так:
PreloadSWF = [GeniunePath]\GenieLibrary\GenieLibrary.swf (помним, что
8. Дальше шаманство - переходим по ссылке и, выбрав "Добавить местоположение"
указываем путь к SWFке (это тот самый путь, что мы прописывали в mm.cfg) [GeniunePath]\GenieLibrary\GenieLibrary.swf - зачем это делается, написано в самом окошке. После добавления пути нужно отметить "Всегда разрешать" и просто закрыть это окно.
9. Запускаем сервер Джина (повторюсь, что я поднимала все под Виндой, поэтому понятия не имею что с остальными осями, у прогаммиста под никсом все встало, но Джин не коннектится к SWFке и толку от него получается ноль) из [GeniunePath]\GenieServer - там лежит батник LaunchServer.bat
10. Запускаем Эклипс. Чтобы вытащить наш плагин на свет божий (если он автоматом не подкинулся), выбираем Windows > Show View > Other > Genie > Genie. Рекомендую подглядывать в гайду, там годные скриншоты.
11. Запускаем браузер и в нем любую SWFку, у меня это флешевая игра (ради чего всё и затевалось). На ней теперь в левом верхнем углу должен появится значок Джина:
. Он будет серым, если батник с сервером не запущен.
И этот зеленый значок значит, что мы все подняли правильно! Первый этап пройден :) Не переключайтесь, в следующем посте я расскажу
Первое знакомство и... великолепный тул! Спасибо вам за статью.
ОтветитьУдалитьОна все-таки пригодилась! :) Вам спасибо за отзыв.
УдалитьАНХЕЛЬ, настроил всё по мануалу, сервер стартанул, значек зеленый, но в эклипсе, в Connect to SWF, серым написано "Server not connected", будто не запущено никаких swf.
ОтветитьУдалитьКонфигурация такая:
Win 7
Opera 12.02
Eclipse build 20130919-0819
java 1.7.0_17
Да, проект их, я еще импортировал.
В чём может быть дело?
В SWFке, увы. Бывают такие, которые почему-то не детектяться, видела лично, вроде тот же Flash, а SWFку не видно. Можно попробовать закрыть SWFку, рестартовать эклипс, посмотреть появится или нет. Если SWFка публичная, можно кинуть мне название, я гляну у себя.
УдалитьЭтот комментарий был удален автором.
УдалитьАНХЕЛЬ, спасибо, разобрался:
Удалитьиспользовал эклипс: eclipse-jee-kepler-SR1-win32-x86_64,
а надо было: eclipse-standard-kepler-SR1-win32
Этот комментарий был удален автором.
ОтветитьУдалитьДобрый день, Анхель. Начал ковыряться в Genie с вашей статьи. Спасибо :)
ОтветитьУдалитьВот несколько мыслей, возможно и вам будет интересно:
http://testerstorehouse.blogspot.com/2014/02/adobe-genie-webdriver-testng.html
Спасибо, рада что кому-то таки пригодилось :) Просмотрела вашу запись, действительно хорошая связка, добавила ссылку на вашу запись в соседний пост.
Удалить