Visual Studio 2010自动化Web应用测试实践

来源:互联网 发布:美国陪审团知乎 编辑:程序博客网 时间:2024/05/01 10:58

[图书连载]Visual Studio 2010自动化Web应用测试实践

发表于2011-02-10 14:55| 858次阅读| 来源CSDN| 0 条评论| 作者陈秋歌

工具generation2010web测试
摘要:本文为电子工业出版社推出的《构筑敏捷的开发团队:微软Visual Studio 2010实战兵法》图书第八章连载之十八。 Visual Studio 2010的Coded UI tests提供了一种新的完全自动化的测试功能,可以验证功能

本文为电子工业出版社推出的《构筑敏捷的开发团队:微软Visual Studio 2010实战兵法》图书第八章连载之十八。

Visual Studio 2010的Coded UI tests提供了一种新的完全自动化的测试功能,可以验证功能和应用程序的用户界面行为。在本实践中,将获得通过创建一个新的测试和验证逻辑来增加对coded UI tests功能的深刻学习。

应用&实践

Visual Studio 2010自动化Web应用测试实践包括:操作记录代码生成、使用Coded UI tests生成器和Coded UI tests的数据驱动范例,分别阐述如下。

(1)动作录制代码生成(Introduction to Code Generation from Action Recordings)

①打开Visual Studio 2010(本实例建议在微软网站下载Visual Studio 2010 虚机)Start | All Programs | Microsoft Visual Studio 2010 | Microsoft Visual Studio 2010。创建一个新的测试项目(File | New | Project…),在新建项目窗口中,选择测试项目模板从Visual C#|测试和选择“OK”按钮创建测试项目。然后,关闭窗口,会看到UnitTest1.cs。

②打开解决方案浏览器,右键单击TestProject1,在菜单中,选择Add | Coded UI Test…。在弹出Generate Code for Coded UI Test 窗口中选择use an existing action recording(使用现有的操作记录)选项,单击“OK”按钮,如图1所示。

图1  创建Coded UI Test并生成动作记录

③在工作项选择器(Work Items Picker)窗口中,选择IBuySpy项目,然后选择的IDs单选按钮,输入59,这是一个项目的IBuySpy,包含一个动作记录测试用例的ID。选择查找(Find)按钮,来执行工作项查询(假设ID是已知的),如图2所示。

图2  查找操作记录测试用例

④单击OK按钮,可以进行测试用例的操作记录测试,生成用户界面代码(coded UI test)。在生成CodedUITest1.cs文件中,找到CodedUITestMethod1方法。每行代表了从测试生成过程中所使用的操作记录的步骤。右键单击在CodedUITestMethod1方法的第一个方法调用,并选择转到定义(Go To Definition),从UIMap.Designer.cs文件加载,包含生成的测试逻辑UIMap类。这种生成的方法需要启动Internet Explorer并浏览指定的URL,如图3所示。

图3  导航到测试逻辑

⑤在UIMap类中,向下滚动到ClickonSignIn方法。测试生成的方法:在IbusySpy单击Web应用程序,单击“Sign In(登录)”超链接。生成测试方法实例的代码如下:

⑥该ClickonSignIn测试方法不直接指定超链接参数,而是指定BlankPageWindowsInteWindow.HttpVS 2010beta22010Client。由HttpVS 2010beta22010Document.SignInHyperlink属性,导航到SignInHyperlink属性的定义来查看执行状态。定义SignInHyperlink属性的代码如下:

⑦关闭UIMap.Designer.cs文件,返回CodedUITest1.cs文件。在CodedUITest1.cs源文件上右键单击,并选择运行测试(Run Tests),Internet Explorer的一个实例将自动打开操作动作(因为在coded UI test中定义),coded UI test有两个测试参数行,如图4所示。

图4  运行coded UI test实例

⑧可以通过查看测试结果进行验证,如图5所示。

图5  测试结果窗口显示通过测试

(2)使用Coded UI Test生成器生成代码(Introduction to Code Generation using Coded UI Test Builder)

在本实践中,将学习如何使用Coded UI Test生成器生成的IBuySpy,测试Web应用程序代码和修改生成的代码,以便可以进行数据驱动测试。

①在CodedUITest1.cs文件中返回CodedUITestMethod1方法,并且注释掉最后一行关闭浏览器窗口。停止代码测试后,关闭浏览器窗口,代码如下:

②重新运行coded UI test,以确认通过验证。需要注意的是,这两个浏览器窗口在测试过程中处于打开状态。第一个浏览器窗口显示$ 1,499.95,而第二个浏览器窗口结账页面显示$ 89,997.00。关闭浏览器窗口$ 89,997.00。

③在Visual Studio内,返回CodedUITestMethod1方法,并且在调用this.UIMap.Verifythatorderiscomplete.后,创建一个空行。测试验证代码如下:

④右键单击在空白行的位置,在弹出菜单中,选择Generate Code for Coded UI Test | Use Coded UI Test Builder。这将使加载的代码生成器(Coded UI Test Builder)窗口(总是显示在其他窗口)和Internet Explorer实例处于打开状态。启动Coded UI Test生成器,如图6所示。

图6  启动Coded UI Test生成器

⑤添加一个验证,验证付账页面显示“付账完成(Check Out Complete)”。使用Coded UI Test Builder工具的窗口十字线(crosshair),拖放到显示“Check Out Complete”文本页面中,这将加载一个窗口显示该控件的属性,选择InnerText属性,将查看其属性信息,如图7所示。

图7  确认选择一个元素查看其属性

⑥比较类型是AreEqual,选择OK按钮以继续。验证复选框已被添加到InnerText属性行中,如图8所示。

图8  选择比较类型、值和InnerText属性

⑦增加一个验证,以确保总数为$ 1,499.95。从编码UI测试生成工具窗口十字线中拖放到显示$ 1,499.95元素。选择InnerText属性,目前显示$ 1,499.95,并选择添加按钮来生成一个验证。然后再用比较器选择默认值,并验证比较值,然后选择确定按钮以完成新的方法。单击在生成代码(Generate Code)的代码UI测试生成(Coded UI Test Builder)工具窗口按钮,如图9所示。

图9  选择元素验证和生成代码按钮

⑧在生成代码窗口中,使用的方法名称为ValidateOrderTextAndTotal,并选择添加和生成按钮生成验证代码,如图10所示。

图10  生成测试验证代码

关闭编码UI测试生成器和IE浏览器窗口,返回到Visual Studio。代码生成增添了新的验证步骤。取消注释的代码行的测试运行后关闭浏览器窗口。代码如下:

⑨转到ValidateOrderTextAndTotal方法的定义,并在Assert.AreEqual调用。注意:在这里没有直接指定$ 1,499.95,但在一个类型HtmlSpan由item149995Pane.InnerText实例指定,代码如下:

返回到CodedUITest1.cs代码文件,并插入一个新行前ValidateOrderTextAndTotal进行调用。添加到CodedUITestMethod1方法,在预期的变化后,设置总价值为基础的执行测试,代码如下所示:

⑩右键单击并选择运行测试,以运行新的验证步骤测试。

(3)Coded UI Test的数据驱动的范例(Data Driven Demonstration for Coded UI Test)

在本实践中,将增加一个测试参数值设置为测试用例,以证明这些测试参数都连接到coded UI test和验证,我们最近增加了正在执行的预期。

①打开Microsoft Test Manager 2010 (Start | All Programs | Microsoft Visual Studio 2010 | Microsoft Test Manager 2010);在Iteration 2(迭代2)下,选择端至端测试节点,选择与ID = 59的测试用例,并最终选择公开测试用例按钮打开它。如图11所示。

②根据底部参数值,添加NewQuantity = 10和NewTotal = $ 100.00新行。如图12所示。

③保存(Save)修改的测试用例,并返回到Visual Studio。再次运行测试,并测试执行的三次,测试失败。双击失败(Failed)行,然后在测试结果窗口打开测试结果。根据有关数据驱动测试结果(Data Driven Test Results),显示有2和3测试通过,第3个数据行运行失败。如图13所示。

图11  打开测试用例

图12  添加新参数

原创粉丝点击