2010-10-25 5 views
0

J'essaie d'utiliser la fonctionnalité de test CodedUI de Visual Studio 2010. J'ai un problème lors de la relecture des diverses actions pour un de mes composants html. Les Keyboard.SendKeys générés ne fonctionnent pas (comme s'il n'y avait pas d'entrée).CodedUI Test: Keyboard.SendKeys ne fonctionne pas

Le code généré est:

// Type '{F4}{F4}{F2}titre{Enter}' in 'SaisieSD_DS' custom control 
Keyboard.SendKeys(uISaisieSD_DSCustom, this.Params.UISaisieSD_DSCustomSendKeys, ModifierKeys.None); 

Si je remplace l'appel à Keyboard.SendKeys par un appel à System.Windows.Forms.SendKeys.SendWait, il fonctionne.

Je pensais à un problème dû à une perte de focus. Cependant, si je fais quelque chose comme uISaisieSD_DSCustom.SetFocus(), cela ne change pas le comportement.

Avez-vous une idée?

thx.

Répondre

0

Visual Studio CodedUI Test recherche un contrôle et lui envoie ces clés. Dans votre cas, le contrôle est 'uISaisieSD_DSCustom'. Vous pouvez essayer d'utiliser:

Keyboard.SendKeys(this.Params.UISaisieSD_DSCustomSendKeys); 

OU

Keyboard.SendKeys("{F4}{F4}{F2}titre{Enter}"); 
1

Avez-vous essayé

uISaisieSD_DSCustom.WaitForReady() 

ou l'un des autres waitfors?

Echoue-t-il sur cette ligne? Ou est-il défaillant par la suite à cause de cela ne fonctionne pas correctement?

Vous pouvez également utiliser les éléments suivants pour attendre toutes les discussions pour terminer avant de poursuivre:

Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.AllThreads; 
Keyboard.SendKeys(uISaisieSD_DSCustom, this.Params.UISaisieSD_DSCustomSendKeys, ModifierKeys.None); 
Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.UIThreadOnly; 

Assurez-vous d'inclure la dernière ligne pour la remettre à UIThreadOnly, ou il va ralentir tout chemin vers le bas.

-1

Après avoir tapé l'URL si nous voulons envoyer la touche entrée, puis le code ci-dessous fonctionne Codé UI

Keyboard.SendKeys("{Enter}");