什么是Coded UI
什么是Coded UI
Coded UI Test是Visual Studio 2010對于Testing Project(測試工程)提供的關于UI自動化測試的框架,支持Win32,Web,WPF等UI的自動化測試,是一個非常強大的測試工具,Coded UI支持自動錄制和手動編寫。
Coded UI能干什么
打開應用程序
模擬用戶操作
獲取UI元素
UITestControl:所有UI類庫的基類
Web測試類庫:HtmlControls(HtmlButton,HtmlDiv等)
Winform測試類庫:WinControls(WinMenu,WinWindow等)
WPF測試類庫:WpfControls(WpfCheckBox,WpfPane等)
Coded UI主要類庫
UITestControl:所有UI類庫的基類
Web測試類庫:HtmlControls(HtmlButton,HtmlDiv等)
Winform測試類庫:WinControls(WinMenu,WinWindow等)
WPF測試類庫:WpfControls(WpfCheckBox,WpfPane等)
Coded UI結果驗證類
Assert類: Microsoft.VisualStudio.QualityTools.UnitTesting
常用方法:IsTrue(),IsFalse(),IsNull(),AreEqual()
手動編寫Coded UI Test
原理:手動編寫與自動錄制原理相同,但是更為靈活。自動錄制生成的代碼過于繁亂,不易修改維護,手動編寫的話易于管理,可以按照實際情況運用一些常見的編程方法,對代碼做一些定制,可讀性更強,提取公共部分寫成通用函數使得代碼易于維護。
思路:
明確你想要測試的程序,根據程序控件的一些屬性捕獲到這個控件
根據測試需求對控件做一些操作
根據需求提取控件信息,控件狀態、文本信息、控件定義等
將提取信息與期望信息匹配
新建Coded UI Test 工程
同上新建一個Test工程,添加Coded UI Test
在CodedUITest1.cs文件中編寫測試方法。每個測試方法的方法體上面都要有[TestMethod],為了方便VS2010自帶的方法執行工具發現該方法。
手動獲取頁面控件要使用IE Developer Tools
Coded UI一些操作方法
調用HtmlControls類庫(后面有示例程序)
打開瀏覽器:調用BrowserWindow類來實例化一個BrowserWindow對象
BrowserWindow browser = BrowserWindow.Launch(new Uri("http://www.baidu.com"))
獲取Div控件:調用HtmlDiv類實例化一個HtmlDiv對象
HtmlDiv header = new HtmlDiv(browser);
header.SearchProperties[HtmlDiv.PropertyNames.Class] = "s_tab";
獲取文本框:調用HtmlEdit類來實例化一個HtmlEdit對象
HtmlEdit txtKeyWord = new HtmlEdit(browser);
txtKeyWord.SearchProperties[HtmlEdit.PropertyNames.Class] = "s_ipt";
獲取按鈕:調用HtmlInputButton類實例化一個HtmlInputButton對象
HtmlInputButton btnSubmit = new HtmlInputButton(browser);
btnSubmit.SearchProperties[HtmlInputButton.PropertyNames.Class] = "s_btn";
依次類推,在代碼中會有智能提示,或者查詢MSDN網站來查找相應方法
鼠標點擊:Mouse.Click(HtmlControl);
Mouse.Click(btnSubmit);
驗證結果:調用Assert類的各種方法
Assert.IsTrue(imgLogo.Exists, "Logo doesn't exist!");
等待瀏覽器加載完成:BrowserWindow .WaitForControlReady();
讓程序等待:System.Threading.Thread.Sleep(毫秒數);
示例程序:驗證百度搜索成功
public class CodedUITest1
{
[TestMethod]
public void VarifyFeatures()
{
#region 打開瀏覽器獲取控件
//調用BrowserWindow打開瀏覽器,默認打開IE
BrowserWindow browser = BrowserWindow.Launch(new Uri("http://www.baidu.com"));
//打開其他瀏覽器方法
//Process p = Process.Start(@"C:UsersXXXAppDataRoaming360se6Application360se.exe", "http://www.baidu.com");
//BrowserWindow browser = BrowserWindow.FromProcess(p);
//根據屬性找到搜索文本框
HtmlEdit txtKeyWord = new HtmlEdit(browser);
txtKeyWord.SearchProperties[HtmlEdit.PropertyNames.Class] = "s_ipt";
//根據屬性找到“百度一下”按鈕
HtmlInputButton btnSubmit = new HtmlInputButton(browser);
btnSubmit.SearchProperties[HtmlInputButton.PropertyNames.Class] = "s_btn";
//根據屬性找到header div
HtmlDiv header = new HtmlDiv(browser);
header.SearchProperties[HtmlDiv.PropertyNames.Class] = "s_tab";
#endregion
#region 各種驗證
//等待瀏覽器加載完成
browser.WaitForControlReady();
//輸入測試關鍵字
txtKeyWord.Text = "軟件測試";
//點擊“百度一下按鈕”
Mouse.Click(btnSubmit);
//驗證頁面跳轉后搜索框里面的關鍵字正確
Assert.IsTrue(txtKeyWord.ValueAttribute.Contains("軟件測試"));
//關閉瀏覽器
browser.Close();
#endregion
}
}
View Code
總結
以上是生活随笔為你收集整理的什么是Coded UI的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Detectron2 keypoint_
- 下一篇: axf、elf文件转换成bin、hex脚