2011-04-21 66 views
0

我有一个应用程序,我想写一个自动化测试。自动化测试将模拟操作员对应用程序的使用情况。我无法更改应用程序的源代码,因为它已被“冻结”以供审阅。在另一个应用程序中启用检测按钮

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

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

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

摘要:

  1. 如何当一个按钮 (控制),另一 应用程序启用我发现?
  2. 如何获得其他 应用程序的句柄?

我使用C#与在Windows NT上微软的Visual快讯2010年,Vista的& 7.如果你建议的工具,我需要他们自由的公司有一个非常严格的预算。

+1

有很多工具。不管他们花了多少钱,他们会比自己的价格便宜。 – 2011-04-21 17:18:57

+0

@David除了他们可能认为托马斯成为沉没成本 – 2011-04-21 17:23:17

+2

@David:证明成本,向Powers提交并等待响应可能比编写应用程序需要更长的时间。 :-( – 2011-04-21 17:30:54

回答

2

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

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

编辑:
检查这个link找到一个简单的方法做你的需要。
我希望这可以帮助你。

+0

)我正在写一个测试应用程序,转而使用'AutoIT'工具。到目前为止,这是令人难以置信的超棒和免费的!感谢您的建议。 – 2011-04-21 18:15:58

相关问题