2010-11-03 54 views
2

Je souhaite créer un test d'interface utilisateur automatisé qui testera ma grille de syncfusion. Mon problème est que l'enregistreur ne peut pas reconnaître ce contrôle (ou n'importe quel contrôle de syncfusion). J'ai beaucoup cherché sur internet mais je n'ai pas trouvé d'extension donc l'enregistreur va reconnaître mes contrôles (j'utilise WinForms, pas WPF!), Ou au moins un moyen d'étendre les capacités de l'enregistreur pour que les contrôles de syncfusion être reconnu en quelque sorte.Test d'interface utilisateur codé - récupérer mon objet personnalisé (WinForms)?

Existe-t-il un moyen simple d'étendre l'enregistreur? Ou y a-t-il une extension disponible? Ou peut-être puis-je obtenir l'objet grille de WinClient généré par l'enregistreur?

Merci!

Répondre

1

Démarrez votre programme. Exécutez l'utilitaire Spy ++. Tapez Ctrl + F pour lancer l'outil de recherche et faites glisser l'oeil de taureau sur votre formulaire. Ok, synchronisez et regardez les fenêtres visibles dans l'arborescence. Si vous voyez des contrôles Windows Forms réguliers, comme un bouton ou une étiquette, mais pas l'un des contrôles SyncFusion, vous avez probablement trouvé la source du problème.

Les fournisseurs de composants qui essaient d'améliorer les contrôles .NET le font généralement en créant des contrôles sans fenêtre. Ils ne sont pas vraiment des contrôles, ils ne dérivent pas de la classe Control et n'ont pas de propriété Handle. Ils utilisent la surface du parent pour se dessiner, les faisant ressembler à des contrôles. Les classes .NET ToolStripItem le font. Et c'est aussi l'approche que WPF utilise.

Le gros avantage est qu'ils rendent rapidement et prennent en charge tous les types d'effets que les contrôles classiques ne peuvent pas prendre en charge, tels que la transparence, la rotation et les bords de fenêtre anti-aliasés. Le gros inconvénient est que le type d'outil que vous utilisez devient soudainement noddy et ne peut pas retrouver le contrôle. Parce qu'ils fonctionnent en trouvant la fenêtre Windows sur votre formulaire, il n'y a pas de fenêtre pour eux.

C'est un problème difficile à résoudre, le 'contrôle' n'existe qu'en mémoire et il n'y a pas de bon moyen pour un outil de le retrouver. Utiliser l'accessibilité est à peu près la seule autre façon pour un tel outil de trouver un contrôle auquel je peux penser. Ce qui devrait d'abord être implémenté par le fournisseur de contrôle, une fonctionnalité quelque peu obscure qui est facilement négligée. Vous avez vraiment besoin de l'aide du fournisseur pour trouver une solution de contournement pour cela. Ce ne devrait pas être un problème, c'est pourquoi vous leur avez payé le gros argent.

0

Ceci est Rajadurai de Syncfusion. Merci de votre intérêt pour les produits Syncfusion. Pour que l'automatisation des tests d'interface utilisateur reconnaisse les grilles Syncfusion (WinForms), un support interne doit être fourni dans la grille dont l'implémentation est en cours et sur le point d'être complétée. Veuillez soumettre un incident via Direct-Trac pour toute autre demande liée au lien suivant. http://www.syncfusion.com/Account/Logon?ReturnUrl=%2fsupport%2fdirecttrac

Vous pouvez également nous contacter via [email protected] Nous sommes heureux de vous assister.

Cordialement, Rajadurai