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,如图所示:

VSTS 2010新功能 了解CodedUI Test

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

VSTS 2010新功能 了解CodedUI Test

这里会看到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,然后就会弹出一个录制的窗口,如图:

VSTS 2010新功能 了解CodedUI Test

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

VSTS 2010新功能 了解CodedUI Test

选中录制器

VSTS 2010新功能 了解CodedUI Test

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

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

VSTS 2010新功能 了解CodedUI Test

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

VSTS 2010新功能 了解CodedUI Test

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

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

VSTS 2010新功能 了解CodedUI Test

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

VSTS 2010新功能 了解CodedUI Test

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

VSTS 2010新功能 了解CodedUI Test

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

VSTS 2010新功能 了解CodedUI Test

如图:

VSTS 2010新功能 了解CodedUI Test

VSTS 2010新功能 了解CodedUI Test

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

VSTS 2010新功能 了解CodedUI Test

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

相关推荐