VSTS 2010新功能 了解CodedUI Test

开发 后端
如果你对VSTS 2010的测试员版本感兴趣,而又没有TFS 2010,只装了VSTS 2010 BETA 1,那么就只能体验一下VSTS 2010的一个新功能–CodedUI Test。

如果你对VSTS 2010的测试员版本感兴趣,而又没有TFS 2010,只装了VSTS 2010 BETA 1,那么就只能体验一下VSTS 2010的一个新功能–CodedUI Test。

微软在VSTS2010以前的版本都不太重视手工测试和功能测试的支持,估计是因为Visual Studio 2010本来是一个集成开发环境的原因,不过到了VSTS 2010,情况完全不一样了,微软想把VS改造成为一个贯穿整个ALM(Application lifecycle management)的主要工具,所以在VSTS2010中加强了对测试计划、测试用例,相关报告等的支持。

CodedUI Test就是面向功能测试工程师,给他们提供自动化测试支持的这么一个新功能。下面我一步步演示一下怎么用CodedUI Test来对WINDOWS自带的计数器实现简单的自动化功能测试。

1. 新建一个测试项目,这个步骤与前几个版本的VS一样,就不重复累赘了。

2. 在该测试项目中新建一个CodedUI Test,如图所示:

CodedUI Test

3. 当CodedUI Test被创建以后,VS会提示用户,是否立刻创建相关的自动化测试代码,如图所示:

提示实例

这里会看到3个选项:Use an action recording associated with a test case or shared steps,这个选项是建立在有TFS的情况下才能实现的,因为在2010中,测试工程师可以编写测试用例,并且保存在TFS中,当有人要用CodedUI Test来实现某个测试用例的时候,就可以通过这个选项来把自动化测试和测试用例关联起来,不过可惜我没有TFS。Use the recorder,这个选项比较常用,就是启动一个VSTS自带的录制工具来实现自动化测试,这个也是下面要详细分享的。User the UI control Locator,这个选择会直接用VS的UI Control Locator来对被测程序的控件进行识别。

4. 选择User the recorder,然后就会弹出一个录制的窗口,如图:

录制窗口

点击那个“Record Actions”就能开始录制了。VS的录制器做的挺人性化的,如果焦点不在录制器上,那么录制器就会变成透明,方便用户对被测软件的关注,下面是两个比较的图片。

比较图片

选中录制器

选中录制器

没有选中录制器,而且在被测软件的标题栏中还有一个状态提示,表面现在录制器在工作。 #p#

5. 开始执行测试用例,录制器会记录下所有的步骤,如图:

录制器记录内容

计算器进行了1+1的操作,录制器记录下了所有操作(大家可以看到是Click ‘1′ button, Click ‘+’ button等操作),现在把这3个操作合并成为一个方法,填入方法名,然后点击“Generate Method”,测试方法就被生成了,回到刚才的Record Actions的TAB,我们可以看到所有已经被录制的操作,如图:

已经被录制的操作

这里每一个操作,到最后对应的都是一个方法,也意味着这些操作都是可以被重用的,所以每一个Action的颗粒度大家可以自己把握,个人认为不应该做太大颗粒度的Action,首先不利于重用,其次也不利于维护。

6. 增加检查点,对于一个自动化测试来说,自动化执行和自动化检查都是必不可少的。

增加检查点

现在把标签从Record Actions切换到 Add Assertions中,选中“UI Control Map”下方那个唯一可用的按钮,系统会弹出一个新的窗口,如图:

新的窗口

拖动右上角的那个十字按钮到某个控件上,这里可以把这个十字拖动到计算器的结果栏中。这时候VS识别出这是可以Edit控件,我也确定这个就是我想要对之进行验证的地方。点击ADD:

ADD窗口

选择了正确的控件,还需要对正确的属性进行比较。第一步是显示该控件的所有属性:

显示该控件的所有属性

如图:

显示该控件的所有属性 

ADD窗口

图中,上面的部分是公共的属性,例如类名,名称,是否激活等;下面的部分是该控件特有的属性,例如它的文字属性(Text),是否是只读的等等。我现在只需要比较Text属性是等于2.的就可以了。因为很简单,1+1=2. 完成这一步以后就能看到一个控件被添加到了UI Control Map中,里面已经记录了那些属性需要进行比较。

UI Control Map 

7. 回放检查,浏览到刚才生成的测试,然后点进运行,我们就会看到VSTS在重复我们刚才的操作,并且对结果进行了比较,测试执行完毕。

至此,我们已经完成了一个简单的CodedUI Test。微软的VSTS2010提供了与其他类似的自动化功能测试软件的录制回放功能,但是与常见的功能测试自动化工具(例如QTP,微软的RFT)比较而言,VSTS2010所提供的Recordor使用起来并不是十分方便,感觉操作起来都不如其他测试工具用起来方便。不过有一点是非常值得肯定的,就是微软没有大肆宣扬他的工具能够实现录制回放功能,而解除过自动化测试的朋友都知道,用录制回放来实现自动化测试是相当地危险的,而且成功的机会也很小。这可能就是微软把VSTS2010提供的功能测试自动化的功能命名为CodedUI Test的原因吧。首先这是一种测试,其次,它还是一种针对UI的测试,而其实现是代码。这个对于以后修改和维护测试来说,是比较方便的。

由于没有TFS,所以没有能把自动化测试和测试用例联系起来,我个人觉得,如果单独使用CodedUI Test的话,实现自动化测试真的比较费劲(可能由于BETA,加上我在虚拟机上安装,奇慢无比),而且看不出来VSTS2010比其他商业软件或者开源解决方案有什么优势。不过我感觉如果能把CodedUI Test与测试用例管理结合起来,然后再利Lab Manager上的一些功能,一定会有不错的效果。不过Lab Manager这个东西太大太重,在中小公司估计是比较难推广的。VSTS版本不断升级,慢慢地从一个纯粹的集成开发环境,过度到贯穿整个应用程序开发生命周期管理的平台了。

【编辑推荐】

  1. 微软VSTS 2010可管理虚拟化开发环境
  2. VSTS 2010重要组件 了解实验室管理
  3. 如何在VSTS 2010中自定义真实网络仿真
责任编辑:王晓东 来源: magustest
相关推荐

2010-03-18 15:44:22

VSTS 2010VS 2010

2010-03-18 14:20:16

VSTS 2010

2009-09-18 09:22:37

SharePoint新功能Faceted Sea

2023-03-25 20:20:23

2023-04-10 06:59:17

Linux桌面环境

2010-03-30 09:42:05

Office 2010新功能

2009-12-15 11:16:39

VS2010开发程序

2010-04-14 16:29:26

Exchange Se

2011-02-17 15:53:48

Microsoft V

2024-04-29 13:54:12

iOS 18苹果

2024-01-03 08:08:51

Pulsar版本数据

2010-01-13 09:11:04

Visual Stud

2010-02-22 14:00:29

Visual Stud

2010-04-16 13:33:54

Visual Stud

2010-03-18 14:57:59

VSTS 2010

2018-09-26 11:12:35

iOS苹果功能

2020-12-08 16:29:44

JDK 16Java编程语言

2009-10-22 14:50:00

Visual Stud

2009-05-19 09:21:50

Visual Stud云计算并行编程

2010-04-08 15:14:59

Visual StudASP.NET 4.
点赞
收藏

51CTO技术栈公众号