Visual Studio 2010自动化Web应用测试实践
来源:互联网 发布:美国陪审团知乎 编辑:程序博客网 时间:2024/05/01 10:58
[图书连载]Visual Studio 2010自动化Web应用测试实践
本文为电子工业出版社推出的《构筑敏捷的开发团队:微软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 添加新参数
- Visual Studio 2010自动化Web应用测试实践
- Visual Studio 2010自动化测试(
- Web UI自动化应用测试框架实践 - 概览
- Web UI 自动化测试实践
- 应用Selenium + NUNIT对动态WEB测试自动化(自动化测试开发实践系列)
- 利用Visual Studio实现自动化测试
- Visual Studio 2010在敏捷开发中的实践应用
- Web(基于GUI) 自动化测试实践课程
- WEB性能测试:你应该带上Visual Studio 2010
- 应用Visual Studio 2010 辅助敏捷测试 (一)
- 应用Visual Studio 2010 辅助敏捷测试 (二)
- 应用Visual Studio 2010 辅助敏捷测试 (三)
- Visual Studio 使用 Web Deploy 测试记录
- 用 Visual Studio 2005 实现用户界面自动化测试
- WEB性能测试:你应该带上Visual Studio 2010 (web性能测试)
- Visual Studio 2010 beta测试
- Microsoft Azure Web Sites应用与实践【3】—— 通过Visual Studio Online在线编辑Microsoft Azure 网站
- 用Visual Studio实践敏捷测试 (一) 上
- UINCODE环境下编写剪贴板程序代码
- eclipse 控制台输出ibatislog
- 创建与调用以axis实现的stub方式webservice服务
- org.apache.poi.openxml4j.exceptions.InvalidOperationException: Can't open the specified file
- ERROR: unknown option journal
- Visual Studio 2010自动化Web应用测试实践
- MFC中Picture Control如何添加图片
- 利用 OpenScales+MapServer+PostGIS 快速构建 GIS 应用
- LINUX 查看硬件配置命令
- jquery查找元素方法示例
- Coded UI Test功能扩展
- 程序员专用经典语录
- oracle 11gR2 rac library cache: mutex X引发的故障
- 鸡尾酒排序