Question

Je me présente un test Junit sur ma demande d'éclipse qui a été construit en utilisant SWT. Je fais des tests de GUI à l'aide SWTBot. Donc, voici mon problème:

editor.bot().button("Make Excel Template").click();

Ce code me permet de générer un modèle dans ma demande. Une fois fait, il jette un dialogue Modal avec « OK » comme un message. Cependant, je ne peux pas SWTBot trouver ce bouton / widget / boîte de dialogue. Je continue à obtenir un 'WidgetNotFoundException'.

Quelqu'un at-il rencontré ce? contenu officiel sur le site SWTBot dit que les boîtes de dialogue doivent être exécutées dans séparés threads non UI. Les exemples fournis ne sont toutefois pas très instructif.

Appréciez votre aide!

Était-ce utile?

La solution 2

@carstenlez - votre solution fonctionne bien pour les boîtes de dialogue JFace. Cependant, mon application, fait usage d'un MessageBox - qui est une boîte de dialogue native. SWTBot ne supporte pas les boîtes de dialogue natives, donc je suis à peu près d'options.

Autres conseils

D'abord, vous devez exécuter vos tests dans un non-UI-fil (si pas déjà fait). Deuxièmement, vous pouvez utiliser une condition d'attendre votre boîte de dialogue modale apparaisse après l'exécution de l'action qui apportera la boîte de dialogue jusqu'à:

bot.waitUntil(Conditions.shellIsActive("This is the title of the modal dialog "));
bot.button("OK").click();

Ceci a résolu nos problèmes de synchronisation.

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