CodeUI Test是微軟自動化測試的一個比較好的項目,它的原理是獲取到Windows窗口上的控件,而後針對控件的部分屬性進行獲取和對比,模擬對控件進行點擊、雙擊、右鍵點擊等事件。這樣能夠錄製用戶測試用例的動做,一次錄製完動做,之後只須要運行測試用例程序,便可自動化測試。工具
注意:Code UI Test只能針對Window 程序。若是是C#編寫的將會更加有效。測試
1.建立一個Code UI Test項目和普通WPF項目。ui
2.運行測試用例裏面的WpfApplication1.exe,而後右鍵點擊測試用例「CodeUITest」項目裏面的UIMap.uitest文件,而後點擊「使用編碼測試的UI測試生成器進行編輯」this
3.此時能夠點擊錄製工具欄上的按鈕點擊錄製,而後錄製須要錄製的Use Case動做。而後點擊生成代碼,同理添加斷言也是同樣的。以下圖:編碼
4.咱們錄製一個動做,操做打開的測試Demo WPF程序以後,而後錄製動做以下,首先點擊Button按鈕,而後關閉此窗口判斷窗口上顯示的label1控件的值是否變化爲制定的labelClicked值,若是是則Use Case經過,不然不經過。代碼以下:spa
/// <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」測試用例,而後運行便可。以下圖:code
6.如需源碼請點擊 CodedUITestProject1.rar 下載。其餘Code UI Test的詳細內容下節講述。blog