.net 如何使用codedui处理应用程序中的条件弹出窗口?

.net 如何使用codedui处理应用程序中的条件弹出窗口?,.net,coded-ui-tests,automated-tests,.net,Coded Ui Tests,Automated Tests,使用VS 2010在CodedUI中记录了许多自动测试用例, 但有很多弹出窗口是根据系统的流程来的,因为那个些并没有记录的测试将被卡住并失败 在测试运行时,我们是否可以使用通用函数来处理所有弹出窗口?两个主要选项。您可以编写代码来预期弹出窗口并处理它们,但如果它们不出现,则不会失败。通过将分配中的代码包装到Playback.PlaybackSettings.ContinueOnError来完成此操作。但这可能不适合你的问题 另一种方法是添加一些重试代码。当某个步骤失败时,编码的UI可以调用错误处

使用VS 2010在CodedUI中记录了许多自动测试用例, 但有很多弹出窗口是根据系统的流程来的,因为那个些并没有记录的测试将被卡住并失败


在测试运行时,我们是否可以使用通用函数来处理所有弹出窗口?

两个主要选项。您可以编写代码来预期弹出窗口并处理它们,但如果它们不出现,则不会失败。通过将分配中的代码包装到
Playback.PlaybackSettings.ContinueOnError
来完成此操作。但这可能不适合你的问题


另一种方法是添加一些重试代码。当某个步骤失败时,编码的UI可以调用错误处理程序,该处理程序可以尝试关闭弹出窗口,然后重试失败的操作。为此,请向Playback.PlaybackError添加事件处理程序。事件处理程序可能只是将falling项设置为重试,然后调用
Keyboard.SendKeys(“{Enter}”)
尝试关闭弹出窗口。有关详细信息,请参见

如果您对录制工作流程不满意。您可以捕获对象并编写步骤代码。通过这种方式,您将比录制的会话拥有更多的控制权Hi AdrianHHH非常感谢您的解决方案,但我无法在vs 2010中添加事件回放.PlaybackError。本文还使用VS 2012实现。请建议如何添加此事件。我认为只有在Visual Studio 2012及更高版本中才能使用
Playback.PlaybackError
。我怀疑它是否可以添加到2010版中。