Domanda

Ho lavorato su un componente Flex e mi piacerebbe scrivere alcuni test automatizzati per esso. Il problema è che gli strumenti di test di interfaccia utente che ho guardato ( FlexMonkey e Selenio Flex API ) non simulare "basta":

La maggior parte dei bug che sono venuti fino ad oggi in relazione al modo in cui offerte Flex con drag and drop, che queste librerie non possono simulare con sufficiente precisione. Ad esempio, ho bisogno di testare un caso in cui ci sia un evento "drop" che si verifica nella metà inferiore di un componente - né FlexMonkey né Selenio Flex API può farlo (possono simulare un evento del mouse, ma non includeranno coordinate).

Quindi, c'è qualche modo "buono" per automatizzare questo tipo di test?

Modifica : Dopo molte ricerche, sembra che l'unico pezzo di software che può fare questo è iMacros , che è solo per Windows e l'interfaccia è ... Manca. Così ho intenzione di essere scrivere il mio . Fondamentalmente, si metterà un'interfaccia HTTP su java.awt.Robot così codice (in qualsiasi lingua) in grado di simulare gli eventi del mouse / tastiera. Se siete interessati, PM me e io terrò aggiornati.

Modifica 2 : ho pubblicato la prima versione del quadro che ho scritto, Trombone, oltre a BitBucket: http://bitbucket.org/wolever/blunderbuss/ . Avrete bisogno di Jython per farlo funzionare ( http://www.jython.org/ ), ma dopo che l'esempio flex-client dovrebbe funzionare.

Video di Blunderbuss vivere sopra a Vimeo:

Al momento questo rimane un proof-of-concept, in quanto non ho avuto i cicli per ripulirlo e renderlo più utilizzabile ... Ma basta forse la gente preoccuparsi di me mi avrebbe dato quel tempo:)

È stato utile?

Soluzione

Ho usato melanzane per testare Flash e applicazioni AIR senza dover aggiungere alcun ganci nel codice . E 'un grande strumento, ma è piuttosto costoso. Si simula un vero e proprio utente VNC-zione in un sistema e utilizza il riconoscimento di immagini - tra le altre cose -. Di interagire con l'applicazione

Altri suggerimenti

Sono decisamente interessato alla vostra abitudine classe Java, e (anche se non sono il migliore in Java (ancora ...)), sarei pronto ad aiutare se stai pensando di fare questa collaborazione.

Per quanto riguarda Flash MouseEvents. Purtroppo, non c'è davvero un modo accurato per simulare l'esperienza drag / drop in Flash. MouseEvents, quando generato dal mouse, vengono gestiti in modo molto diverso rispetto a eventi regolari e mentre si potrebbe simulare azioni facendo passare gli eventi nelle funzioni di gestione, o facendo fuoco dispatcher una nuova DragEvent (DragEvent.DRAG_DROP ..., è non sarà lo stesso di avere all'utente di interagire con esso. E per alcune funzionalità (come l'accesso agli appunti), niente dentro Flash sarà realizzare i tuoi obiettivi.

Per essere onesti, probabilmente stai andando nella giusta direzione -. Utilizzando qualcosa che non è scritta in Flash per guidare gli eventi del mouse falsi è probabilmente la soluzione migliore

Non ho mai dovuto usarlo in Flex ma ho recentemente imbattuto in alcune informazioni su pacchetti di automazione della MS Surface SDK ... dopo aver guardato in esso quelle classi automatizzati comportamento degli utenti che possono essere utilizzati per testare cioè spostare un falso il mouse a questo punto, eseguire questa azione. Come si sta utilizzando pacchetti mx.automation Flex e classi . La mia ipotesi (e la speranza) è che si sarebbe in grado di realizzare ciò che si desidera utilizzare queste classi.

Si potrebbe anche provare auto-hotkey - è altrettanto un programma macro-editing, ma ha dimostrato di essere molto efficiente ed è possibile scrivere script e configurarlo facilmente

.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top