快速业务通道

追求代码质量 - 使用Selenium和TestNG进行编程式测试 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
//go to web pages and do stuff... driver.stop();

创建了 Selenium 实例后,您可以 启动并在运行时 停止它。这意味着您可 以通过编程与 Selenium 服务器交互,并通过一个测试程序使它驱动浏览器。

追求代码质量 - 使用Selenium和TestNG进行编程式测试(2)

时间:2010-12-10 IBM Andrew Glover

驱动应用程序

通过编程与 Web 页面进行交互是一种使用本地 id 的应用。与页面元素进行 交互的第一步就是查找该元素,通常可以使用 HTML 元素 ID 进行查找。 Selenium 还允许您使用 XPath、正则表达式,甚至是 JavaScript 来查找特定 的元素(如果您希望这样做)。

清单 2 所示的 HTML 是使用 Groovlet 的简单 Web 应用程序的一部分。这 段代码定义了包含输入和提交按钮的表单。如果希望 Selenium 与该表单交互, 我必须为输入按钮提供 ID 以及相应的值。我还需要为提交按钮提供一个 ID, 这样 Selenium 才能 “单击” 它。单击按钮后,表单将被提交给 Groovlet — — 本例中为 FindWidget.groovy。

清单 2. 简单的 HTML 表单

<form method=post  action="./FindWidget.groovy">   <table border="0" style="border-style: dotted">   <tr>    <td class="heading">Widget:</td>    <td class="value"><input type="text"  name="widget"></td>   </tr>   <tr>    <td></td>    <td class="value"><input type="submit" value="Find  Description" name="submit"></td>   </tr>   </table> </form>

现在就可以通过使用 ID widget(输入值)和 submit(单击按钮)与该 HTML 表单进行编程式交互,如清单 3 所示:

清单 3. 驱动简单的 Web 页面

driver.type("widget", "pg98- 01"); driver.click("submit"); driver.waitForPageToLoad("10000"); //assert some return value...

Selenium 中用于和 Web 页面元素进行交互的 API 非常的直观。对于输入字 段,我可以使用 type() 方法将值与 ID 关联起来。如果需要的话,可以通过编 程 click 按钮。在清单 3 中,我将 click 设置为 10 秒的等待时间 —— 足 够表单提交请求完成处理。当 FindWidget.groovy 中的代码运行其内容并返回 响应后,我可以使用该响应来查找特定页面元素,并验证所有内容是否正常工作 。

Selenium 和 TestNG

TestNG 以其灵活性和参数化 fixture 成为定义 Selenium 的驱动验收测试 的首选。TestNG 能够定义测试依赖项并返回失败的测试,以及其易用性,使得 Selenium-TestNG 成为吸引人的组合。

让我们首先从一个能够允许用户创建、查找、更新或删除小部件的 Web 应用 程序开始。创建一个小部件需要三个属性:名称、类型和定义。图 1 显示了创 建小部件的表单:

图 1. 创建小部件的 Web 表单

请注意:表单元素的类型是具有三个不同选项的下拉列表,如图 2 所示:

图 2. 包含下拉列表的 Web 表单

追求代码质量 - 使用Selenium和TestNG进行编程式测试(3)

时间:2010-12-10 IBM Andrew Glover

单击 Create Widget 将促使 Groovlet 处理这一请求。如果所有内容正确的 话(即名字和定义不为空,并且数据库中不存在该实例),Groovlet 将创建一 个新的小部件实例并类似图 3 所示的状态页面:

图 3. 返回的 Web 页面显示状态

结合使用 Selenium 和 TestNG 验证简单的 Create Widget 用例是一种可

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号