0

我有一个应用程序,我想为其编写自动化测试。自动化测试将模拟 Operator 对应用程序的使用。我无法更改应用程序的源代码,因为它已“冻结”以供审核。

该应用程序将显示一个弹出(消息)窗口,通知操作员在测量完成后单击按钮。该按钮在消息窗口关闭一段时间后启用。

我需要知道如何检测应用程序何时启用此按钮。到目前为止,我的研究表明应用程序应该广播一条自定义消息来帮助自动化测试;但我无法修改源代码。

此外,在单击“测量完成”按钮后,应用程序将启用单选按钮,询问测量是否有效。我也需要检测到这一点。

概括:

  1. 如何检测何时在另一个应用程序中启用了按钮(控件)?
  2. 如何获取其他应用程序的句柄?

我在 Windows NT、Vista 和 7 上使用 C# 和 MS Visual Express 2010。如果您建议工具,我需要它们是免费的,因为公司的预算非常紧张。

4

1 回答 1

2

我认为您可以使用FindWindow API、传递标题和接收句柄来完成这项工作。
然后,枚举子组件,你可以找到按钮(如果你抓住它的名字,下次你可以更快地使用它)并获得启用状态。
我认为您可以使用AutoIT软件(脚本)或其逻辑。

[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern IntPtr FindWindow(string strClassName, int nptWindowName);

已编辑:
检查此链接以找到一种简单的方法来满足您的需求。
我希望这可以帮助你。

于 2011-04-21T17:27:39.063 回答