CodedUI测试:Keyboard.SendKeys不工作
我正在尝试使用Visual Studio 2010的CodedUI测试function。我在重播我的一个html组件的各种操作时遇到了问题。 生成的Keyboard.SendKeys不起作用(如果没有输入)。
生成的代码是:
// Type '{F4}{F4}{F2}titre{Enter}' in 'SaisieSD_DS' custom control Keyboard.SendKeys(uISaisieSD_DSCustom, this.Params.UISaisieSD_DSCustomSendKeys, ModifierKeys.None);
如果我通过调用System.Windows.Forms.SendKeys.SendWait
替换对Keyboard.SendKeys的调用,它确实有效。
由于失去焦点,我正在考虑一个问题。 但是,如果我执行类似uISaisieSD_DSCustom.SetFocus()
,则不会更改行为。
你有什么主意吗 ?
谢谢。
你有没有尝试过
uISaisieSD_DSCustom.WaitForReady()
或者其他一个等待者?
它在这条线上失败了吗? 或者由于这种方法不正常而失败了吗?
在继续之前,您还可以使用以下内容等待所有线程完成:
Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.AllThreads; Keyboard.SendKeys(uISaisieSD_DSCustom, this.Params.UISaisieSD_DSCustomSendKeys, ModifierKeys.None); Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.UIThreadOnly;
只需确保包含最后一行将其重新设置为UIThreadOnly,否则它将减慢一切。
Visual Studio CodedUI Test搜索控件并将这些键发送给它。 在您的情况下,控件是’uISaisieSD_DSCustom’。 您可以尝试使用:
Keyboard.SendKeys(this.Params.UISaisieSD_DSCustomSendKeys);
要么
Keyboard.SendKeys("{F4}{F4}{F2}titre{Enter}");
如果我们想要发送回车键,输入URL后,下面的代码在Coded UI中工作
Keyboard.SendKeys("{Enter}");