2011-04-21 35 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

相關問題