作者 Al Tenhundfeld译者 赵劼 发布于 2009年2月19日 上午9时31分
WatiN是一个在.NET中自动控制浏览器的开源类库。WatiN从流行于Ruby社区的Watir项目中得到启发,通过与浏览器的交互简化了对Web应用程序的自动测试。WatiN使用C#编写,但是可以使用任何.NET语言编写测试。目前它只支持Windows平台。
与其它.NET平台上的解决方案相比,WatiN 1.0已经有足够丰富的功能,并逐渐成为流行的用户界面与用户验收测试工具,可惜它只能直接支持IE浏览器的自动操作。虽然仍处于开发阶段,WatiN 2.0已经支持对IE及FireFox 2.0/3.0的自动操作。作为最新的社区预览版本,WatiN 2.0 CTP 3,已于2月11日发布。
CTP 3着重于对FireFox提供的更好支持,并包含以下的改进:
- 为Mozilla.Frame实现了新的特性,可访问Frame中文档内部的元素。
- 为Mozilla.Frame实现了新的特性,可访问IFrame中文档内部的元素。
- 为Mozilla.Document(即FireFox和Frame)实现了Eval功能,并增加了IFrame接口。
- 修补了一个bug:在某些情况下会导致Form.Submit方法不等待一个潜在PostBack及页面加载过程的完成。
WatiN通过与浏览器的交互,以及对DOM结构的处理和验证来建立断言,不过WatiN 2.0引入了一个抽象层以便编写跨浏览器的测试。下面的代码示范了一种在Google中搜索WatiN,并判断“WatiN”字样出现在结果中的做法。可见,只需修改一点点代码,就能针对IE和FireFox进行相同的测试了。
手动编写WatiN测试有些令人厌烦,因此社区里又出现了另一个开源项目,能够从浏览器中记录并创建WatiN测试。WatiN Test Recorder并没有发布新的版本,不过它的2.0版本正处于开发过程中,并已承诺会带来一些重大的增强。