时隔2年,我又回来了~

SliverLight自动化测试

上一篇 / 下一篇  2011-05-11 15:11:18 / 个人分类:SliverLight

性能测试方面:

1. 可以使用LoadRunner11.0LR11.0支持Sliverlight的性能测试,压力测试,负载测试等。

UI测试方面:

1.      开发人员可以使用VS2010自带的Test来测试SliverLight。但是要安装

en_visual_studio_2010_fp2_x86_604352.msi”并且要将“C:\Program Files\Common Files\microsoft shared\VSTT\10.0\UITestExtensionPackages\SilverlightUIAutomationHelper”下的“Microsoft.VisualStudio.TestTools.UITest.Extension.SilverlightUIAutomationHelper.dll”引入到Sliverlight工程中。具体操作为:

1.      Sliverlight工程卸载。

2.      编辑.csproj文件。

3.      <Production Condition="'$(Production)'==''">False</Production>

<Choose>

<When Condition=" '$(Production)'=='False' ">

<ItemGroup>

<Reference Include="Microsoft.VisualStudio.TestTools.UITest.Extension.SilverlightUIAutomationHelper">

</Reference>

</ItemGroup>

</When>

</Choose>

放入到.csproj文件中,放入的位置如下图:

4.      将工程加载,rebuild

参考:http://msdn.microsoft.com/zh-cn/library/gg413374

这样就可以录制SliverLight Web项目了。

使用VS2010自带的测试工具来测试的弊端是:必须要在测试之前将

Microsoft.VisualStudio.TestTools.UITest.Extension.SilverlightUIAutomationHelper引用。这就需要在开发的工程中完成。

VS2010UI测试之旅

开始我们的第一个UITest文件

下面就真正地开始VS2010UI测试之旅。

1.      建立一个Test Project

2.      新建完测试工程后,要建立一个Test,我们要做的是UI测试,所以这里选择的是“Coded UI Test

3.      新建完Test之后,会有一个提示框弹出,询问你是想怎么创建UI测试,这是会选择“录制操作、编辑UI映射或添加断言”

4.      这时屏幕右下角会出现UI测试生成器。

5.      本例中以PSD系统为例来对SliverLightUI进行测试。

6.      点击“开始录制”按钮

7.      打开要录制操作的SliverLight页面,进行相应的操作。这时可以在UI测试生成器处看到一些相应操作的名称以及操作对象的名称。做完一系列操作后,点击“停止录制”按钮,这时点击代码生成按钮。就会出现下面的对话框,将刚刚的操作生成一个方法,方法名称可以自定义。

8.      当代码生成完毕后,面板上的准星可以使用。点击准星不放,拖动到想要录制的对象上,放开鼠标。

刚刚被选中的对象并且添加到对象库的对象。注:要点击左上角的,这样才能将选中的对象添加到对象库中,生成代码时被初始化。

9.      添加断言。

同步骤8一样,但是在右侧面板中选择Exits属性,值为TRUE

然后点击“添加断言”按钮。

这里我们要选择AreEqual,值为True。表示,我们确定UIBingosoftPSDSliverliButton1这个按钮存在,如果在运行测试的时候,该Button存在,则pass,否则fail

10.  点击代码生成按钮,为刚才添加的断言生成判断方法,方法名称可以自定义。

 

11.  点击VS2010中的运行按钮。

 

VS2010会自动演示刚才的操作,并且显示运行结果。

VS2010生成的代码到底放在了那里?

下面我们来看一下VS2010生成的代码放在了哪里。

 

1. 我们来看一下工程的目录结构,不难发现,录制时自动生成了.uitest文件,并且所有的方法代码都在.Designer.cs文件中。

虽然UIMap.csUIMap.Designer.cs是同时生成的,但是VS自动生成的代码放在.Designer.cs文件中。而在.cs文件中,可以放置一些自己编写的代码。

2. 但是最主要的还是.uitest文件,虽然.Designer.cs文件中放置的是生成的代码,但是会随着.uitest文件中的内容变化而变化。所以在Coded UI Test中,主导代码生成的还是.uitest文件。下面我们来看一下.uitest文件的结构。

.uitest文件的结构主要包括

<InitializeActions/>

<ExecuteActions/>

<CleanupActions/>

<OnErrorActions/>

<Maps/>

<ValueMap/>

其中InitializeActionsExecuteActionsCleanupActionsOnErrorActions都是对于操作动作的描述:

InitializeActions:指初始化需要执行的操作动作

ExecuteActions:只测试过程中的操作动作(通过录制所生成的操作都默认放在ExecuteActions中)

CleanupActions:指测试完毕需要清理资源的操作动作

OnErrorActions:只带异常处理的操作动作

他们都对UIMap.Designer.cs操作动作部分代码的生成和参数的生成有直接的影响。

严格地说,放在InitializeActions中的操作动作和放在ExecuteActionsCleanupActionsOnErrorAction的动作没有任何本质上的区别,仅仅只是从一个代码可读性上的考虑。

 

<SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast


TAG:

旺仔小罐头的个人空间 引用 删除 289782385   /   2011-05-12 09:10:06
我试着用LaunchApplicationAction这个节点来打开IE浏览器,自动生成方法函数,但是IE确实被打开了,只是测试结果是Fail。很让人费解。各位大神有没有什么建议?
旺仔小罐头的个人空间 引用 删除 289782385   /   2011-05-12 09:06:21
在使用VS2010进行UI测试时,最好用管理员登陆并运行程序,这样可以减少很多应为权限问题引起的fail。
注:是在自己编写代码的情况下。个人认为如果使用录制操作的话,不存在权限这个问题。如果 有哪位大神对这个问题有更好的见解,欢迎讨论。
 

评分:0

我来说两句

Open Toolbar