3

我正在尝试为我们的一个产品构建一个自动化测试框架。一些测试用例涉及在模态对话框中执行自动化。但是,模式对话框会阻止 UIAutomation 代码执行。换句话说,如果我有一个由 UIAutomation 打开的模态对话框,那么在我关闭模态对话框之前什么都不会发生。

为了在模态对话框显示时执行 UIAutomation 代码,我一直在尝试注册一个 windowopenedevent 处理程序,该处理程序在打开模态对话框时捕获它,因此我可以在 windowopenedevent 处理程序中执行其余测试。但是,处理程序根本没有捕获事件。我不知道出了什么问题,有什么建议吗?

这种情况的其他解决方法也是受欢迎的。

4

1 回答 1

2

我遇到过几次,通常是在浏览器测试中。

我所做的是这样的:

>> before taking the action that causes the modal dialog to show up:
   >> start another thread (OR) launch a script asynchrounously
   >> then take the action

>> In the other thread or script:
    >> Sleep for 5 seconds or so
    >> Activate the dialog
    >> send keystrokes or call UI auto methods to dismiss the dialog

关闭对话框后,您的测试应该会解除阻塞。

这一直对我有用。

于 2012-10-30T19:10:42.500 回答