VS2010测试功能之旅:编码的UI测试(1)

上一篇 / 下一篇  2012-03-28 10:17:32 / 个人分类:VS2010功能测试

一个简单的示例

在上面对于自动化测试的介绍中已经提到,编码的UI测试将对应用程序的用户界面进行操作之后进行验证,对于界面的操作,我们需要预先录制或者直接编写(日后会介绍直接编写的方式),在这个简单的实例中,我们将先使用录制进行操作,录制完毕之后,使用回放功能进行回放(类似于录音机,录制之后再播放)

一.新建测试项目

1.首先打开VS2010,选择测试à新建测试

2.选择编码的UI测试,简历一个UI测试,名称为CodedUITest1.cs

3.创建完成,我们可以看到创建之后,项目的目录结构如下

下面做一个简单的介绍

Solution Items:存放该解决方案中各个测试项目公用的设置

Local.testsetings文件和TraceAndTestImpact.testsettings是对解决方案中的测试进行整体上的设置,这个是建立测试解决方案的时候默认自动建立的两项,一个用于运行,一个用于调试,当然这两项是可以删除的,testsettings类型文件可以通过右击Solution Items的时候点击添加新建项建立

TestProject1.vsmdi是用于对项目中创建的测试method进行组织和管理,让其能组织成流程线,一个个进行测试

TestProject:我们刚才建立的测试项目,可以看到刚才建立的UI测试CodedUITest1.cs

二.录制程序并回放

1.假设我们现在有一个程序(这个示例程序在文章末尾有提供地址),现在我们需要对系统登录的部分进行测试,正确的用户名为”Admin”,密码为”123456”

测试的内容是:

(1).输入错误的用户名或输入错误的密码,检测系统是否提示“用户或密码错误”

(2).输入正确的用户名和正确的密码,检测系统是否提示“登录成功”

程序的截图如下所示:

2.现在我们可以开始进行录制,将刚才的测试内容录制成实际的操作

3.点击确定之后,可以看到屏幕的右下角弹出一个UI测试生成器,点击录制之后,就可以进行操作了

4.之后首先输入错误的用户名和密码,然后点击登录,之后弹出提示框“用户名和密码错误“

5.这个时候我们可以在录制面板点击暂停录制,然后点击”生成代码“,并将刚才的操作放入方法InputErrorUidPwd中(至于生成后的代码被放在了哪,现在可以先不用关心,最后我会进行说明)

6.这个时候点击录制面板上的准星(这个时候准星已经Enable了),并一直按住鼠标不放,将鼠标拖到刚才的弹出框上面的文字再松开,然后测试生成器的对象库窗口会自动弹出,VS2010将捕获弹出框上的label对象,如下图所示:

7.现在我们要进行第一个验证,就是验证这个弹出框用户名或密码错误!是否弹出来了,如果是,则测试通过,如果不是,则失败,接着先前的步棸,首先要确认左边的列表中“UI用户名或者密码错误Text“对象选中,之后选择右边的列表中的Exists属性(该属性表示label是否存在,存在则是True,不存在则是false),点击添加断言

然后弹出为Exists添加断言的窗口,这里我们需要选择AreEqual,比较值是True,表示我们断言用户名或密码错误这个label存在,如果运行测试的时候该label确实存在,则该测试步骤是通过的,否则就是失败

之后点击录制面板的生成代码,为刚才添加的断言生成方法AssertErrorWindow()(至于生成后的代码被放在了哪,现在可以先不用关心,最后我会进行说明)

8.然后我们继续开始录制,录制开启后,首先点击“用户名或密码错误“弹出框的确定,然后用上面介绍的同样的方法,输入正确的用户名和密码,判断弹出框是否为登录成功,分别添加InputRightUidPwd()操作方法和AssertRightWinow()断言方法,最后便可以录制结束

9.之后我们可以点击运行来进行测试

之后VS2010会自动操作刚才演示的程序的登录窗口,然后报告测试结果

三.如果现在程序发生异常

假设现在刚才的示例程序,本来输入错误的用户名或密码,应该弹出提示“用户名或密码错误”,现在因为开发人员一时疏忽,不慎将提示改成了乱码“咪asd阿什顿”,那么是否刚才录制的测试能够把这个测试出来呢?我们现在可以试试(这个错误的示例程序在文章最后也提供下载)

开始运行测试

最终不负我们所望,错误还是被测试出来了

四.录制生成的代码被放在了哪里?

首先我们再看看项目的文件结构

可以发现刚才录制之后,VS2010自动生成了UIMap.uitest文件,我们自动生成的代码就放在UIMap.Designer.cs

进入去查看,可以看到刚才录制为我们自动生成的四个方法InputErrorUidPwd()AssertErrorWinow()InputRightUidPwd()AssertRightWinow(),展开之后可以看到详细操作

而在CodeUITest1.cs文件中,也自动添加了几句代码,调用UIMap中录制的测试操作


TAG: 测试 codeUI

 

评分:0

我来说两句

Open Toolbar