Visual Studio 2010中实现数据驱动UI测试
创始人
2024-06-22 03:21:01
0

本文将为大家讲述的是Visual Studio 2010 Beta 2中实现数据驱动Coded UI测试方面的问题,相信在Visual Studio 2010正式版中会有更好的表现。

#T#

通常情况下,我们要与不同的数据值一起重复一个测试。这个“数据驱动”在Coded UI Test中非常容易的。在本例子中,我们创建了一个Coded UI Test,以验证在计算器的两个数字增加。现在,让我们看看如何能够把一个简单的CodedUI Test转化为数据驱动测试。

1、首先创建Coded UI Test (Create the Coded UI Test)(请参考上一个实例);

然后创建数据集。Coded UI Test支持多个数据源。该数据集可以定义在一个CSV(逗号分隔值)文件,一个Excel工作表,XML文件,数据库表或TFS上的一个测试用例。在例子中,我们将使用与下面的数据CSV文件(TestData.csv)。

Add1 Add2 Sum
8 2 10
6 2 8
4 2 6

l.创建TestData.csv文件

“CSV”,是Comma Separated Value(逗号分隔值)的英文缩写,通常都是纯文本文件,可以用记事本打开。打开Excel,并复制上面数据到Excel中,选择菜单|文件|另存为,选择CSV格式,即可创建CSV文件。

对于每一段录制的操作,VSTS都可以把它抽象成一个方法,它会把这些操作以静态方法的形式存放在UIMap.Designer.cs的类里面。可以对这些方法做任意的修改,也可以把需要输入的方法增加一个输入的参数。

2、添加数据源到Coded UI Test(Add the Data Source binding in Coded UI Test)。

1)打开VS菜单|Test View-> Windows -> Test View,如图1所示。

Coded UI Test

图1  Coded UI Test属性中创建数据连接3)通过上面操作,打开新的数据源向导界面,创建数据源。选择CSV File—>单击Next,如图2所示。 

新建数据源向导

图2  新建数据源向导

4)选择步骤一建立的TestData.csv文件,测试数据源向导预览,单击“Finish”,该csv数据文件加入到该项目中。如图3所示。

新建数据源向导文件数据预览

图3  新建数据源向导文件数据预览

新文件数据文件属性自动添加到Coded UI Test的CodedUITest1.cs文件中。文件属性如下:

 

  1. [DeploymentItem("TestProject\\TestData.csv"), DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", 
  2. "|DataDirectory|\\TestData.csv", "TestData#csv", DataAccessMethod.Sequential), TestMethod] 

3、在Coded UI Test中使用数据。打开Coded UI Test文件(CodedUITest1.cs)添加代码片段。

代码片段如下:

 

  1. this.UIMap.计算器Window.Item8Window.Item8Button.SearchProperties  
  2. [WinProperties.Button.Name] =   
  3. TestContext.DataRow["Add1"].ToString(); 

 

这样的修改后,当运行测试的时候会第一次运行单击按钮(计算器)动作。程序员会搜索CSV file,在其中挑选适合的值。

注意:测试的对象必须包含被处理的所有数据,并且数据源必须存在。可以参考的列名(例如:“Add1”)。

同样的,添加下面代码片段,它修改了第二次点击计算器。

代码片段如下:

 

  1. this.UIMap.计算器Window.Item2Window.Item2Button.SearchProperties  
  2. [WinProperties.Button.Name] =   
  3. TestContext.DataRow["Add2"].ToString(); 

 

新增this.UIMap.AssertSum()方法,调用下面的代码:

 

  1. this.UIMap.AssertSumExpectedValues.ItemEditText = TestContext.DataRow["Sum"].ToString(); 

现在可以进行验证,从CSV文件获取数据进行自动化测试结果。

4、运行数据驱动测试。单击右键弹出菜单,选择“Run Tests”,运行Coded UI Test方法进行自动化测试。如图4所示.

运行数据驱动测试

图4  运行数据驱动测试

该测试运行时候将执行3次(如需要多次迭代,根据数据源的数据行)。测试结果将显示每个迭代的细节。如图5所示。

数据驱动测试结果信息

图5  数据驱动测试结果信息至此,我们已经看到测试实例,了解了如何创建一个数据驱动测试。VSTS自动生成的UIMap.Designer.cs的UIMap类,里面的方法都可以重用,稍加修改就能达到比较好的测试效果(同时也需要对这个类的方法进行整理)。

如果测试用例是MTLM工具创建,还有一个更简单的方法,使其数据驱动。有关MTLM结合的工作流程将在以后中的介绍。

原文标题:在Visual Studio 2010中实现数据驱动Coded UI Tests

链接:http://www.cnblogs.com/xiaoyin_net/archive/2010/01/27/1657808.html

 

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...