Frage

Ich habe auf einer Flex-Komponente gearbeitet und ich möchte einige automatisierte Tests für sie schreiben. Das Problem ist, die UI-Test-Tools Ich sehe schon bei ( FlexMonkey und Selenium Flex API ) Sie simulieren nicht "genug":

Die meisten der Fehler, die so weit gekommen sind, um die Art und Weise betreffen Flex befasst sich mit Drag & Drop, die diese Bibliotheken nicht genau genug, um simulieren. Zum Beispiel, ich brauche einen Fall zu testen, wo es ein „drop“ Ereignis, das in der unteren Hälfte einer Komponente auftritt - weder FlexMonkey noch Selen Flex API kann das tun (sie ein Mausereignis simulieren kann, aber sie werden nicht mit einschließen Koordinaten).

So, gibt es eine „gute“ Art und Weise, diese Art von Tests zu automatisieren?

Bearbeiten : Nach viel Forschung, es sieht aus wie das einzige Stück Software, die dies tun können, ist iMacros , das ist nur für Windows und das Interface ist ... fehlt. Also werde ich meine eigenen sein Schreiben . Grundsätzlich wird es eine HTTP-Schnittstelle auf java.awt.Robot setzt so Code (in jeder Sprache) kann die Maus / Tastatur-Ereignisse simulieren. Wenn Sie interessiert sind, PM mich und ich werde halten Sie auf dem Laufenden.

Edit 2 : Ich habe die erste Version des Frameworks veröffentlicht Ich schrieb, Blunderbuss, über bei BitBucket: http://bitbucket.org/wolever/blunderbuss/ . Sie werden Jython brauchen, um sie auszuführen ( http://www.jython.org/ ), aber nach dass das flex-client Beispiel sollte funktionieren.

Videos von Blunderbuss bei Vimeo leben über:

Im Moment bleibt dies eine Proof-of-Concept, wie ich die Zyklen nicht hatte, es zu reinigen und macht es mehr nutzbar ... Aber vielleicht genug Leute stören ich würde mir diese Zeit:)

War es hilfreich?

Lösung

Ich habe verwendet Aubergine Flash und AIR-Anwendungen zu testen, ohne Haken in den Code hinzufügen zu müssen . Es ist ein großartiges Werkzeug, aber es ist ziemlich teuer. Es simuliert einen echten Benutzer von VNC-ing in ein System und nutzt Bilderkennung - unter anderem -. Mit der App interagieren

Andere Tipps

ich in Ihrer benutzerdefinierten Java-Klasse auf jeden Fall interessiert bin, und (obwohl ich Java nicht das Beste bin (noch ...)), wäre ich bereit, zu helfen, wenn Sie machen diese Zusammenarbeit denken.

In Bezug auf Flash-Mouseevents. Leider gibt es wirklich keine genaue Art und Weise den Drag / Drop-Erfahrung in Flash zu simulieren. Mouseevents, wenn sie von der Maus erzeugt werden auf eine ganz andere Art und Weise als normale Ereignisse behandelt und während Sie simulieren könnten Aktionen durch die Ereignisse in die Handling-Funktionen, oder indem der Dispatcher Feuer ein neues Dragevent (DragEvent.DRAG_DROP ... vorbei, es wird nicht das gleiche sein wie mit damit der Benutzer interagieren. für manche Funktionalitäten (wie Zugriff auf die Zwischenablage zu gewinnen), nichts im Inneren Blitz Ihre Ziele erreichen wird.

Um ehrlich zu sein, sind Sie wahrscheinlich in der richtigen Richtung -. Etwas verwendet, die in Flash geschrieben wird nicht gefälscht Mausereignisse zu fahren ist wahrscheinlich die beste Wahl

Ich habe noch nie in Flex verwenden, aber ich über einige Informationen über Automatisierungspakete in der MS Oberflächen SDK vor kurzem gestolpert ... nachdem in sie suchte diese Klassen Benutzerverhalten automatisieren, die zum Testen also bewegen, um eine Fälschung verwendet werden können, Maus zu diesem Punkt, führen Sie diese Aktion. Wie Sie verwenden Flex mx.automation Pakete und Klassen . Meine Vermutung (und hofft), ist, dass Sie in der Lage sein würden zu erreichen, was Sie wollen diese Klassen verwenden.

Sie können auch Auto-Hotkey versuchen - es ist ähnlich ein Makro-Bearbeitungsprogramm, aber es hat sich als sehr effizient sein und Sie können Skripte schreiben und legen Sie es sehr leicht nach oben

.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top