Question

Je travaille sur un composant Flex et je voudrais écrire quelques tests automatisés pour cela. Le problème est, les outils de test de l'interface utilisateur que je l'ai regardé ( FlexMonkey et sélénium Flex API ) ne simulent pas "assez":

La plupart des bogues qui ont été soulevées jusqu'à présent se rapportent à la façon dont Flex traite avec glisser-déposer, que ces bibliothèques ne peuvent pas simuler avec suffisamment de précision. Par exemple, je dois tester un cas où il y a un événement « drop » qui se produit dans la moitié inférieure d'un composant - ni FlexMonkey ni API Sélénium Flex peut le faire (ils peuvent simuler un événement de souris, mais ils ne comprennent pas Les coordonnées).

Alors, est-il possible d'automatiser ce genre de test « bon »?

Modifier : Après beaucoup de recherches, il semble que le seul logiciel qui peut le faire est iMacros , qui est uniquement sous Windows et l'interface est ... Manquant. Je vais donc être écrit mon . En gros, il va mettre une interface HTTP sur java.awt.Robot si le code (dans toutes les langues) peut simuler des événements souris / clavier. Si vous êtes intéressé, PM moi et je vous tiendrai au courant.

Edit 2 : J'ai publié la première version du cadre que j'ai écrit, Blunderbuss, plus à BitBucket: http://bitbucket.org/wolever/blunderbuss/ . Vous aurez besoin Jython pour l'exécuter ( http://www.jython.org/ ), mais après que l'exemple de flex-client devrait fonctionner.

Vidéos de Blunderbuss vivre sur Vimeo à:

Au moment où cela reste une preuve de concept, comme je l'ai pas eu les cycles de le nettoyer et de le rendre plus utilisable ... Mais les gens peut-être assez me tracasse me donner ce temps:)

Était-ce utile?

La solution

Je l'ai utilisé Aubergine pour tester Flash et des applications AIR sans avoir à ajouter des crochets dans le code . Il est un excellent outil, mais il est assez cher. Il simule un utilisateur réel par VNC ing dans un système et utilise la reconnaissance d'image - entre autres -. D'interagir avec l'application

Autres conseils

Je suis vraiment intéressé par votre classe Java personnalisée, et (bien que je ne suis pas le meilleur à Java (encore ...)), je serais prêt à aider si vous envisagez de faire de cette collaboration.

Flash MouseEvents. Malheureusement, il n'y a vraiment pas une façon précise pour simuler l'expérience glisser / déposer dans Flash. MouseEvents, quand produit par la souris, sont traités d'une manière très différente de celle des événements réguliers et pendant que vous pouvez simuler des actions par les événements passant dans les fonctions de manipulation, ou en faisant le feu dispatcher un nouveau DragEvent (DragEvent.DRAG_DROP ..., il ne sera pas le même que d'avoir l'utilisateur d'interagir avec elle. Et pour certaines fonctionnalités (comme l'accès au presse-papiers), rien dans flash va atteindre vos objectifs.

Pour être honnête, vous êtes probablement dirigé dans la bonne direction -. Utiliser quelque chose qui est pas écrit en Flash pour conduire les événements de souris truqués est probablement votre meilleur pari

Je ne l'ai jamais eu à l'utiliser dans Flex, mais je récemment trébuché à travers quelques informations sur les paquets d'automatisation dans le MS Surface SDK ... après avoir regardé en elle les classes automatisées le comportement des utilisateurs qui peuvent être utilisés pour tester par exemple déplacer un faux souris à ce point, effectuer cette action. Comme vous utilisez Flex packages et classes mx.automation . Je pense (et espoir) est que vous seriez en mesure de réaliser ce que vous voulez utiliser ces classes.

Vous pouvez également essayer-autohotkey - il est tout aussi un programme macro-édition, mais il est avéré être très efficace et vous pouvez écrire des scripts et configurer très facilement

.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top