FlexMonkey ist ein Programm zum Testen von Flex- und AIR-Anwendungen. Der Fokus liegt auf automatisierten Tests der Benutzeroberfläche.

FlexMonkey is an Adobe AIR application used for testing Flex- and AIR-based applications. Providing the functionality to record, playback and verify Flex UI interactions, FlexMonkey also generates ActionScript-based testing scripts that you can easily include within a continuous integration environment.

FlexMonkey: Automatisierte Tests von Flex-Anwendungen

FlexMonkey, übrigens selbst eine AIR-Anwendung, zeichnet z.B. Mausklicks und Tastatureingaben auf. Danach können die Interaktionen automatisch abgespielt werden. Dabei wird überprüft, ob dabei die gewünschten bzw. korrekten Ergebnisse entstehen.

Wie funktioniert FlexMonkey?

Man erstellt ein neues Projekt in FlexMonkey und wählt die zu testende SWF-Datei aus. Es sind keine Modifikationen im Code der SWF-Datei notwendig, prinzipiell funktioniert jede SWF-Datei (ich hatte jedoch Probleme mit SWFs, die mit dem Flex 4 SDK erstellt wurden). Für Tests im Browser wird der sogenannte MonkeyAgent benötigt, eine Applikation, die als Host für das SWF dient.

Nun kann man einen Testfall definieren, indem man die Aufzeichnung startet und sich einmal im gewünschten Ablauf durch die Benutzeroberfläche klickt. Danach muss FlexMonkey noch mitgeteilt werden, was genau geprüft werden soll bzw. wo die Ergebnisse zu finden sind (z.B. in einer Datagrid-Komponente). Dies funktioniert mithilfe einer Snapshot-Funktion, die einen roten Rahmen um die jeweilige Komponente zeigt, wenn man mit der Maus darüber fährt.

Über den “Play”-Button kann der Testablauf nun automatisiert beliebig oft durchgeführt werden. Kleine Icons neben den Testszenarios zeigen ob, ob diese fehlgeschlugen oder das korrekte Ergebnis lieferten.

Einführung in FlexMonkey

Im folgenden Video zeigt Eric Owens, einem der Entwickler des Programms, eine kurze Einführung in FlexMonkey.

Außerdem findet sich auf Adobes Entwicklerseite ein sehr einfach nachzuvollziehender Workshop, der die ersten Schritt mit der Anwendung aufzeigt.

Link: FlexMonkey
Link: Testing Flex applications (Adobe Developer Connection)
Archiv: AsUnit: Unittests in ActionScript 3