开发者

CodedUI Test: Keyboard.SendKeys not working

I'm trying to use the CodedUI Test feature of Visual Studio 2010. I've got a problem while replaying the various actions for one of my html component. The Keyboard.SendKeys generated do not work (like if there was no input).

The code generated is :

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

If I replace the call to Keyboard.SendKeys by a call to System.Windows.Forms.Send开发者_如何学运维Keys.SendWait, it does work.

I was thinking about a problem due to a loss of focus. However, if i do something like uISaisieSD_DSCustom.SetFocus(), it doesn't change the behavior.

Do you have any idea ?

thx.


Have you tried

uISaisieSD_DSCustom.WaitForReady()

Or one of the other waitfors?

Is it failing on this line? Or is it failing afterward due to this not working correctly?

You can also use the following to wait for all threads to complete before proceeding:

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

Just make sure you include the last line to turn it back to UIThreadOnly, or it will slow everything way down.


Visual Studio CodedUI Test searches for a control and sends those keys to it. In your case the control is 'uISaisieSD_DSCustom'. You can try using:

Keyboard.SendKeys(this.Params.UISaisieSD_DSCustomSendKeys);

OR

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


After typing the URL if we want to send the enter key then the below code works in Coded UI

Keyboard.SendKeys("{Enter}");
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜