CodeUI Test是微軟自動化測試的一個比較好的項目,它的原理是獲取到Windows窗口上的控件,然后針對控件的部分屬性進行獲取和對比,模擬對控件進行點擊、雙擊、右鍵點擊等事件。這樣可以錄制用戶測試用例的動作,一次錄制完動作,以后只需要運行測試用例程序,即可自動化測試。
注意:Code UI Test只能針對Window 程序。如果是C#編寫的將會更加有效。
1.創建一個Code UI Test項目和普通WPF項目。
2.運行測試用例里面的WpfApplication1.exe,然后右鍵點擊測試用例“CodeUITest”項目里面的UIMap.uitest文件,然后點擊“使用編碼測試的UI測試生成器進行編輯”
3.此時可以點擊錄制工具欄上的按鈕點擊錄制,然后錄制需要錄制的Use Case動作。然后點擊生成代碼,同理添加斷言也是一樣的。如下圖:
4.我們錄制一個動作,操作打開的測試Demo WPF程序之后,然后錄制動作如下,首先點擊Button按鈕,然后關閉此窗口判斷窗口上顯示的label1控件的值是否變化為制定的labelClicked值,如果是則Use Case通過,否則不通過。代碼如下:
/// <summary> /// ClickAndClose /// </summary> public void ClickAndClose() { #region 獲取到我們制定抓取的窗口上的控件 WpfButton uI關閉Button = this.UIMainWindowWindow.UIMainWindowTitleBar.UI關閉Button; WpfButton uIButtonButton = this.UIMainWindowWindow.UIButtonButton; WpfText uITestText1 = this.UIMainWindowWindow.UITestText.UITestText1; #endregion // 未錄制上一個鼠標操作。 Mouse.Click(uIButtonButton); // 單擊 “關閉” 按鈕 Mouse.Click(uI關閉Button); //斷言點擊之后的Label1控件顯示的文字是否是labelClicked Assert.AreEqual("labelClicked", uITestText1.DisplayText); }
5.打開測試WPF程序,點開VS中的測試資源管理器,右鍵點擊“CodedUITestMethod1”測試用例,然后運行即可。如下圖:
6.如需源碼請點擊 CodedUITestProject1.rar 下載。其他Code UI Test的詳細內容下節講述。