Coded UI Test是Visual Studio 2010对于Testing Project(测试工程)提供的关于UI自动化测试的框架,支持Win32,Web,WPF等UI的自动化测试,是一个非常强大的测试工具,Coded UI支持自动录制和手动编写。

Coded UI能干什么

  1. 打开应用程序
  2. 模拟用户操作
  3. 获取UI元素
  4. UITestControl:所有UI类库的基类
  5. Web测试类库:HtmlControls(HtmlButton,HtmlDiv等)
  6. Winform测试类库:WinControls(WinMenu,WinWindow等)
  7. WPF测试类库:WpfControls(WpfCheckBox,WpfPane等)

Coded UI主要类库

  1. UITestControl:所有UI类库的基类
  2. Web测试类库:HtmlControls(HtmlButton,HtmlDiv等)
  3. Winform测试类库:WinControls(WinMenu,WinWindow等)
  4. 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的更多相关文章

  1. Coded UI Test中的数据驱动测试

    有关什么是Coded UI Test以及如何使用Coded UI Test可以查看我的另一篇文章:http://www.cnblogs.com/jaxu/p/3706652.html 本文主要介绍如何 ...

  2. 如何使用Coded UI Test对Webpage进行自动化测试

    在Visual Studio中,Coded UI Test已经不是什么新特性了,较早版本的Visual Studio中就已经有这个东东了.它主要用来帮助自动化测试工程师和开发人员确保程序在UI方面没有 ...

  3. Coded UI Test对Webpage进行自动化测试

    如何使用Coded UI Test对Webpage进行自动化测试   在Visual Studio中,Coded UI Test已经不是什么新特性了,较早版本的Visual Studio中就已经有这个 ...

  4. C#中通过Coded UI Test Web Page初体验(图文并茂,去繁就简!亲测通过哦~)

    今天首次按照网上的步骤进行Coded UI测试,终于测试通过了,我这次进行的自动化测试是:打开浏览器,输入www.baidu.com,然后输入lty,然后点击页面中第一条数据的左侧位置(为了能获取到T ...

  5. SharePoint自动化系列——通过Coded UI录制脚本自动化创建SharePoint Designer Reusable Workflow

    Coded UI非常好,我开始还在想,怎么样能让一个通过SharePoint Designer创建的Workflow publish三百五十次?想不到一个好的方法,也不知道SharePoint Des ...

  6. 什么是Coded UI

    什么是Coded UI Coded UI Test是Visual Studio 2010对于Testing Project(测试工程)提供的关于UI自动化测试的框架,支持Win32,Web,WPF等U ...

  7. Enable Coded UI Testing of Your Controls

    http://msdn.microsoft.com/en-us/library/hh552522.aspx AccessibleObject Class http://msdn.microsoft.c ...

  8. 使用WatiN进行UI自动化测试

    Watin是一个UI自动化测试工具,支持ie/firefox,官方网站:http://watin.org/. 主要有以下特点: 支持主要的html元素,见:http://watin.org/docum ...

  9. 自动化测试UI Test, Performance Test, Load Test 总结整理

    MSDN: 测试应用程序,Test apps early and often ,Improve Code Quality 推荐书: <Visual Studio 2015高级编程> < ...

随机推荐

  1. 使用pdf2htmlEX将pdf文件转为html

    https://github.com/coolwanglu/pdf2htmlEX 参考github文档,转换出来的的效果貌似很好,可以参考OFFICE 文档转换为html在线预览. pdf2swf 和 ...

  2. [LeetCode]80. Remove Duplicates from Sorted Array II删除数组中的重复值

    和第一题不同的地方是,容忍两次重复 虽然题目上说只需要长度,但是否检测的时候如果数组不跟着改变也是不行的 没说清楚题意 自己是用双指针做的,看了大神的答案更简单 public int removeDu ...

  3. JAVA顺序结构和选择结构

    顺序结构 JAVA的基本结构就是顺序结构,除非特别指明,否则按顺序一句一句执行 顺序结构是最简单的算法结构 语句和语句直接,框与框直接就是按从上到下的顺序执行的,它是由若干个依次执行的处理步骤组成的, ...

  4. SpringBoot异常处理(一)

    ERROR:严重问题,我们无法处理 EXCEPTION:RuntimeException 编译期不检查,出现问题需要我们修改代码 ​ 非RuntimeException(CheckedExceptio ...

  5. LINUX五中IO模型

    阻塞IO模型 用户空间调用recvfrom命令 直到数据包到达且被复制到应用进程的缓冲区或发生错误时才返回,这个过程中 进程亦或线程一直处于等待阻塞状态. 2.非阻塞IO模型 用户空间调用内核指令re ...

  6. pydub "Couldn't find ffmpeg or avconv - defaulting to ffmpeg" 问题解决

    我通过 命令行安装了pydub库,运行报了如下错误 RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but ...

  7. OpenManipulator RM-X52 ROS 开源机械臂

    DYNAMIXEL PRO PH54-200-S500-R  简介

  8. Head First 设计模式 —— 02. 观察者 (Observer) 模式

    思考题 在我们的一个实现中,下列哪种说法正确?(多选) P42 public class WeatherDate { // 实例变量声明 public void measurementsChanged ...

  9. uni-app 页面跳转的两种方法

    1.navigator  标签 <navigator url="../component/classdetails/classdetails"> <view cl ...

  10. LeetCode1337矩阵中最弱的K行

    题目 给你一个大小为 m * n 的矩阵 mat,矩阵由若干军人和平民组成,分别用 1 和 0 表示. 请你返回矩阵中战斗力最弱的 k 行的索引,按从最弱到最强排序. 如果第 i 行的军人数量少于第 ...