Silverlight-UI自动化测试

前段时间因工作需要,研究了一下VS2010的Silverlight-UI自动化测试,先将自己学习体会到的知识心得与大家分享一下,如果有说的不对的地方,欢迎大家指正。

要想可以正常使用Silverlight-UI自动化测试的话,还需要注意以下几点必要性的准备工作:

1、  确认你的电脑上安装了Silverlight 4 Developer运行时,此安装文件为Silverlight4.0版本的开发版。

2、  安装Visual Studio 2010 Feature Pack 2,这个安装包是微软推出的一款开发工具补丁包,其中包含了针对VS2010支持Silverlight应用程序UI自动化测试的最新功能。

3、  对于解决方案中要测试的每个 Silverlight 项目,您必须添加 引用SilverlightUIAutomationHelper.dll组件,这个DLL是用来帮助Coded UI Test识别Silverlight 4的UI控件的,注意它是被Silverlight程序引用,而不是TestProject,很多朋友起初容易混淆。(注:此DLL组件的地址预设在C:\ProgramFiles\CommonFiles\microsoftshared\VSTT\10.0\UITestExtensionPackages\SilverlightUIAutomationHelper\Microsoft.VisualStudio.TestTools.UITest.Extension.SilverlightUIAutomationHelper.dll)

 

做完了这些准备工作,我们来开始进行录制Silverlight应用程序的UI自动化测试啦,普通的ASP.NET网页其实也是大同小异。

1、  打开VS2010,点击“新建项目”,在对话框左边的C#下单击“测试”节点,右边框选择“测试项目”,输入名称和保存地址,点击“确定”,完成添加后,会生成一个默认的UnitTest1.cs文件,一般不使用,可以关闭或删除。

2、在解决方案资源管理器中,右击“TestProject1”,单击“添加”,选择“编码的UI测试”,图片如下:

 

3、  此时将显示“为编码的UI测试生成代码”对话框,选择“录制操作、编辑UI映射或添加断言(R)”选项,点击“确定”

 

4、此时在屏幕的右下角将出现“UIMap-编码的UI测试生成器”,单击“开始记录”。 几秒钟后,编码的 UI 测试生成器将准备就绪。

 

5、现在可以将你的Silverlight项目运行起来了,我的例子很简单,但效果都是一样的,主要就是分别点击3个单选按钮来改变背景色。

 

6、操作完成后,在“UIMap-编码的UI测试生成器”中,单击“生成代码”。在“方法名称”中,键入 SimpleSilverlightAppTest,然后单击“添加并生成”。

 

7、添加断言,通俗的来讲,就是程序操作后,你期望的结果值。左键单击“添加断言”,按住左键不放拖动十字线到你需要添加结果显示规则的控件上,此时选中的控件边框会显示蓝色,就可以松开鼠标左键了,屏幕右下角就会显示所选中控件的属性框,如图:

 

在控件属性框中,选中你要判断的属性,单击属性框上方的“添加断言”按钮,就会弹出供你选择的判断表达式对话框,比如说是“等于”或者“包含”某些内容,我这里判断的是蓝色按钮的Width等于50,如图:

 

点击“确定”后,在“UIMap-编码的UI测试生成器”中,单击“生成代码”。在“方法名称”中输入方法名,然后单击“添加并生成”。

 

8、关闭“UIMap – 编码的 UI 测试生成器”,CodedUITest1.cs 文件将出现在代码编辑器中。在“测试”菜单上,选择“窗口”,然后单击“测试视图”。在“测试视图”中,在测试名称列下选择“CodedUITestMethod1”,然后单击工具栏中的“运行选定内容”。或者直接在代码文件中,右键“CodedUITestMethod1”方法,点击“运行测试”。

9、OK,你会发现程序开始自动运行你刚才在Silverlight程序界面所进行过的操作,完成后并告诉你测试结果是否正确,是否为你预设的结果值。(普通的ASP.NET网页操作录制过程是差不多的^_^)