1

我正在尝试使用 Visual Studio 2010 的 CodedUI 测试功能。在为我的一个 html 组件重放各种操作时遇到问题。生成的 Keyboard.SendKeys 不起作用(就像没有输入一样)。

生成的代码是:

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

如果我通过调用来替换对 Keyboard.SendKeys 的调用System.Windows.Forms.SendKeys.SendWait,它确实有效。

由于注意力不集中,我正在考虑一个问题。但是,如果我做类似的事情uISaisieSD_DSCustom.SetFocus(),它不会改变行为。

你有什么主意吗 ?

谢谢。

4

3 回答 3

1

你有没有尝试过

uISaisieSD_DSCustom.WaitForReady()

还是其他等待者之一?

在这条线上失败了吗?还是由于无法正常工作而导致后来失败?

您还可以使用以下命令等待所有线程完成后再继续:

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

只需确保包含最后一行以将其转回 UIThreadOnly,否则它会减慢一切。

于 2012-05-09T21:17:51.733 回答
0

Visual Studio CodedUI Test 搜索控件并将这些键发送给它。在您的情况下,控件是“uISaisieSD_DSCustom”。您可以尝试使用:

Keyboard.SendKeys(this.Params.UISaisieSD_DSCustomSendKeys);

或者

Keyboard.SendKeys("{F4}{F4}{F2}titre{Enter}");
于 2011-03-30T10:33:33.417 回答
-1

输入 URL 后,如果我们想发送回车键,那么下面的代码在 Coded UI 中工作

Keyboard.SendKeys("{Enter}");
于 2013-09-24T06:18:00.723 回答