什么是Coded UI

什么是Coded UI

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(毫秒数);

示例程序:验证百度搜索成功

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
        }
    }

时间: 2024-10-02 23:10:47

什么是Coded UI的相关文章

Windows Phone 8 测试自动化初探 (利用Coded UI)

前言 Windows Phone是个相对新的的平台,目前应用的数量少,相同应用的功能实现度也不如iOS和Android. 那么在Windows Phone上面的自动化测试的解决方案有什么? 目前就msdn来看,SeeTest是微软推荐的测试方案. 大家知道微软在VS里面集成了自动化测试工具Coded UI,那么Coded UI除了能测Windows, Web应用,它能不能支持Windows Phone应用呢? 利用Coded UI做Win Phone自动化的过程 利用Coded UI是可以做Wi

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

在Visual Studio中,Coded UI Test已经不是什么新特性了,较早版本的Visual Studio中就已经有这个东东了.它主要用来帮助自动化测试工程师和开发人员确保程序在UI方面没有任何问题.这其中包含了丰富的内容.在这之前,我一直对自动化测试的工作以及什么是自动化测试一知半解,具备自动化测试编码能力的工程师所掌握的技能在某种程度上要远超程序开发人员和设计人员,对于这一点,我早有耳闻!但直到亲身体验我才确信,测试工作远没有我们想象得那么简单.开发人员或许花上数小时就可以完成项目

通过Coded UI录制脚本自动化创建SharePoint Designer Reusable Workflow

Coded UI非常好,我开始还在想,怎么样能让一个通过SharePoint Designer创建的Workflow publish三百五十次?想不到一个好的方法,也不知道SharePoint Designer里那个publish按钮调用的是什么方法,想来想去还是用Coded UI尝试了一下,发现也挺好,在资源允许的情况下,就这样完成了SPD Workflow的自动化创建: 1. 首先,你得有个SPD Workflow 2. 通过我第一次录制的脚本发现,SharePoint本身有个bug,就是如

Coded UI Test中的数据驱动测试

有关什么是Coded UI Test以及如何使用Coded UI Test可以查看我的另一篇文章:http://www.cnblogs.com/jaxu/p/3706652.html 本文主要介绍如何在Coded UI Test中使用数据驱动测试.考虑这样一个场景:开发人员提交了一个函数,该函数实现了一个数学公式的运算,通过接收两个数字并进行数学运算给出结果.测试人员根据给定的数学公式,需要考虑提供各种不同情况的值来循环测试该函数.显然,我们需要提供一个数据源,根据数据源中提供的不同的值来进行自

Coded UI Test学习网站

Coded UI Test学习网站: https://msdn.microsoft.com/zh-cn/library/dd286681(v=vs.100).aspx 支持的配置和平台: 1.Visual Studio 2010/2012/2013的Premium版或者Ultimate版. 2.IE7\IE8\IE9部分(安装Visual Studio 2010 Service Pack 1).Mozilla Firefox 3.5 和 Mozilla Firefox 3.6(安装Microso

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

今天首次按照网上的步骤进行Coded UI测试,终于测试通过了,我这次进行的自动化测试是:打开浏览器,输入www.baidu.com,然后输入lty,然后点击页面中第一条数据的左侧位置(为了能获取到TestResult方法中需要的值). 浓缩后的步骤如下: 1.File-->New-->CodedUITestProject: 2.创建后直接就可以录制脚本,也可以不录制,在项目中右键UIMap.uitest点击Edit With Coded UI Test Builder: 3.点击小红点开始录

Visual Studio 单元测试之六---UI界面测试

原文:Visual Studio 单元测试之六---UI界面测试 UI界面测试其实就是录制操作路径(Mapping),然后按照路径还原操作顺序的一个过程.这个方法对于Winform和Webform都同样适用.下面以winform为例,来介绍如何进行录制. 1.新建一个Coded UI Test 2.然后选择录制. 3.屏幕右下方会出现UIMap. 4.打开一个Winform,使用“查看UI控件属性”这个功能可以查看所选控件的属性. 5.点击红色的开始录制,然后对被测的Winform程序进行一些操

在现代网站和应用程序中进行端到端的测试

(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 今天的文章和测试相关,概述了如何对现代网站和应用程序中的后端到前端进行测试. 现代的应用程序比起任何一个时候都要复杂,这些应用程序不仅有针对Windows.iOS.Web.Android.IoT设备和智能手表的.应用程序的构成也比以前复杂,不仅涉及前端UI,还涉及后端服务.如果没有测试,那么就很难验证其中的代码是否运行正常,也很难定位问题所在修复bug.测试一般会涉及对代码的单元测试.压力测试.验收

敏捷测试的方法和实践

文 / 朱少民 有一次,当开发人员完成当前Sprint 任务的代码之后,测试人员.开发人员和产品经理一起来浏览产品.从头到尾走一遍,产品经理发现了问题,认为需要对功能进行比较大的修改.这时开发人员估计需要两天时间才能完成代码,但测试人员反对这样做,我们本来只有5天测试时间,加上这次新做的功能比较多.开发代码质量不高,验收测试已经很紧张.如果再延迟两天,测试没法完成.产品经理说,你们不是在用敏捷测试方法,应该测得很快,三天应该能完成测试工作啊! 什么是敏捷测试呢?敏捷测试当然不能简单地理解为测得更