标签:
Coded UI Test是Visual Studio 2010对于Testing Project(测试工程)提供的关于UI自动化测试的框架,支持Win32,Web,WPF等UI的自动化测试,是一个非常强大的测试工具,Coded UI支持自动录制和手动编写。
Assert类: Microsoft.VisualStudio.QualityTools.UnitTesting
常用方法:IsTrue(),IsFalse(),IsNull(),AreEqual()
原理:手动编写与自动录制原理相同,但是更为灵活。自动录制生成的代码过于繁乱,不易修改维护,手动编写的话易于管理,可以按照实际情况运用一些常见的编程方法,对代码做一些定制,可读性更强,提取公共部分写成通用函数使得代码易于维护。
思路:
明确你想要测试的程序,根据程序控件的一些属性捕获到这个控件
根据测试需求对控件做一些操作
根据需求提取控件信息,控件状态、文本信息、控件定义等
将提取信息与期望信息匹配
调用HtmlControls类库(后面有示例程序)
BrowserWindow browser = BrowserWindow.Launch(new Uri("http://www.baidu.com"))
HtmlDiv header = new HtmlDiv(browser);
header.SearchProperties[HtmlDiv.PropertyNames.Class] = "s_tab";
HtmlEdit txtKeyWord = new HtmlEdit(browser);
txtKeyWord.SearchProperties[HtmlEdit.PropertyNames.Class] = "s_ipt";
HtmlInputButton btnSubmit = new HtmlInputButton(browser);
btnSubmit.SearchProperties[HtmlInputButton.PropertyNames.Class] = "s_btn";
依次类推,在代码中会有智能提示,或者查询MSDN网站来查找相应方法
Mouse.Click(btnSubmit);
Assert.IsTrue(imgLogo.Exists, "Logo doesn‘t exist!");
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:\Users\XXX\AppData\Roaming\360se6\Application\360se.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 } }
标签:
原文地址:http://www.cnblogs.com/binyao/p/4902715.html