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(毫秒数);
Coded UI的更多相关文章
- Coded UI Test中的数据驱动测试
有关什么是Coded UI Test以及如何使用Coded UI Test可以查看我的另一篇文章:http://www.cnblogs.com/jaxu/p/3706652.html 本文主要介绍如何 ...
- 如何使用Coded UI Test对Webpage进行自动化测试
在Visual Studio中,Coded UI Test已经不是什么新特性了,较早版本的Visual Studio中就已经有这个东东了.它主要用来帮助自动化测试工程师和开发人员确保程序在UI方面没有 ...
- Coded UI Test对Webpage进行自动化测试
如何使用Coded UI Test对Webpage进行自动化测试 在Visual Studio中,Coded UI Test已经不是什么新特性了,较早版本的Visual Studio中就已经有这个 ...
- C#中通过Coded UI Test Web Page初体验(图文并茂,去繁就简!亲测通过哦~)
今天首次按照网上的步骤进行Coded UI测试,终于测试通过了,我这次进行的自动化测试是:打开浏览器,输入www.baidu.com,然后输入lty,然后点击页面中第一条数据的左侧位置(为了能获取到T ...
- SharePoint自动化系列——通过Coded UI录制脚本自动化创建SharePoint Designer Reusable Workflow
Coded UI非常好,我开始还在想,怎么样能让一个通过SharePoint Designer创建的Workflow publish三百五十次?想不到一个好的方法,也不知道SharePoint Des ...
- 什么是Coded UI
什么是Coded UI Coded UI Test是Visual Studio 2010对于Testing Project(测试工程)提供的关于UI自动化测试的框架,支持Win32,Web,WPF等U ...
- Enable Coded UI Testing of Your Controls
http://msdn.microsoft.com/en-us/library/hh552522.aspx AccessibleObject Class http://msdn.microsoft.c ...
- 使用WatiN进行UI自动化测试
Watin是一个UI自动化测试工具,支持ie/firefox,官方网站:http://watin.org/. 主要有以下特点: 支持主要的html元素,见:http://watin.org/docum ...
- 自动化测试UI Test, Performance Test, Load Test 总结整理
MSDN: 测试应用程序,Test apps early and often ,Improve Code Quality 推荐书: <Visual Studio 2015高级编程> < ...
随机推荐
- java中产品分类返回给前台页面 后台数据组装
public ResultBean getSpfl(Integer yyb) { ResultBean res = new ResultBean(); try { JSONArray data = n ...
- 原生小程序中实现将scss文件实时编译为wxss文件
参考链接 全局安装gulp,方便以后直接执行gulp命令 npm install gulp -g 用原生小程序新建一个项目 在小程序根目录(app.js同级目录)中新建package.json文件 n ...
- R语言学习笔记-Corrplot相关性分析
示例图像 首先安装需要的包 install.packages("Corrplot") #安装Corrplot install.packages("RColorBrewer ...
- PHP curl爬取数据 加入cookie值
public function get_cookie(){ header("Content-type:text/html;Charset=utf8"); $ch =curl_ini ...
- 废弃fastjson!大型项目迁移Gson保姆级攻略
前言 大家好,又双叒叕见面了,我是天天放大家鸽子的蛮三刀. 在被大家取关之前,我立下一个"远大的理想",一定要在这周更新文章.现在看来,flag有用了... 本篇文章是我这一个多月 ...
- 深入理解static、volatile关键字
static 意思是静态的,全局的.被修饰的东西在一定范围内是共享的,被类的所有实例共享,这时候需要注意并发读写的问题. 只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内找到他们. ...
- spring cloud gateway 日志打印
从api请求中获取访问的具体信息,是一个很常见的功能,这几天在研究springcloud,使用到了其中的gateway,刚好将研究的过程结果都记录下来 0. Version <parent> ...
- 【Oracle】增量备份和全库备份怎么恢复数据库
1差异增量实验示例 1.1差异增量备份 为了演示增量备份的效果,我们在执行一次0级别的备份后,对数据库进行一些改变. 再执行一次1级别的差异增量备份: 执行完1级别的备份后再次对数据库进行更改: 再执 ...
- leetcode 864. 获取所有钥匙的最短路径(BFS,状态压缩)
题目链接 864. 获取所有钥匙的最短路径 题意 给定起点,要求在最短步骤内收集完所有钥匙,遇到每把锁之前只有 有对应的钥匙才能够打开 思路 BFS+状态压缩典型题目 先确定起点和总的钥匙数目,其次难 ...
- C语言目的概念(C语言学习笔记)
什么是目 目是针对操作符来说的,一个操作符影响两个操作数就表示该操作符为双目运算符 举个例子: 1+2 这里的加号影响了1和2两个操作数,所以"+"就是双目运算符 +1,-1 这里 ...