如何用 Coded UI Test 執行 MDI 介面的應用程式

如何用 Coded UI Test 執行 MDI 介面的應用程式

感謝 揉躝  才會有這篇文章

 

Coded UI Test 顧名思義,它就是用程式碼來控制和驗證 介面

簡單來說就是   UI 的 Unit Test

而透過 錄製工具來處理則可以降低 入門門檻 

還可以減少寫測試 Coding 的時間 非常方便

 

因為自已在開發上是幾乎都 SDI 就用 SDI

倒是沒注意到 MDI 的部分會有卡住的情況

 

各位都知道,視窗 0 和 視窗 1 都是隸屬於 MDI  Form

從下面的圖可以看到彼此之間的關係

 

當我們錄製完後再重新播放時就會發現, Click Menu 都很正常

但 視窗 0 卻無法正常找到  ( ps.. 若是按照順序點選的話,最後一個可以被找到 )

image

 

小弟把 Code 整個翻過一遍後發現,視窗 0 的爸爸居然不是 MDI Form 。 ( 不過程式碼中的 Namespace 關係卻是正確的 )

為了驗證 是否和自已所想像的一樣,還是寫了一點 code 來佐證。 

 

image 
稍微觀察即有的程式碼後,小弟也照本宣科將 關鍵的 code 寫出來

程式碼很單純,按操作畫面 分三段 ( 和上面的圖一致 )

並且都是用 「名稱」來找。 ( ps.. 要用 Control ID 的話!只有 WPF 可以 )

Tip:無論您建立 任何介面 ( 控制項 ) 都是要指定 爸爸是誰

 

重新執行測試後,所有的操作都正確無誤可以點選我要的按鈕和介面

順序也都是正確的,為了驗證 Label 的值 還特地加上了 Debug 程式

 

image 
從 Debug 資料可以看到 Click 前後,Label 的顯示資料和小弟所想的是一樣的。

 

 

ps.. WPF 和 Windows AP 的機制是不一樣的,唯獨只有 WPF 有支援 Test Automation ID