![](https://csdnimg.cn/release/download_crawler_static/86361755/bg3.jpg)
<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 显示了创建小部件的表单: