转帖地址:http://www.51testing.com/?uid-61753-action-viewspace-itemid-219930
简介
WatiN 是一个开源的用于 Web 测试 自动化的类库,从 watir 中获得的灵感,使用 C# 开发。 WatiN 通过与浏览器的交互来实现自动化,使用起来具有轻便,简单的特点。目前最新版本为 2.0 ,加入了对 Firefox 的支持,使其功能更趋于完善和多样。
在具体介绍如何使用 WatiN 之前,要先了解一下 WatiN.Core 这个类库下主要的命名空间。
WatiN.Core: Watin 的核心部分,与浏览器的交互都包含在此模块中。
WatiN.Core.DialogHandlers: 该命名空间提供用于操作浏览器对话框的对象。其中包括 AlertDialogHandler, ConfirmDialogHandler, FileUploadDialogHandler, PrintDialogHandler, and LogonDialogHandler 。
WatiN.Core.Exceptions: 该命名空间里的对象用于处理各种异常,比如 : ElementNotFoundException, IENotFoundException, TimeoutException, and a generic WatiNException
开始
我们先以一个简单的示例为例来介绍说明 Watin 是如何与浏览器交互, watin 有哪些主要的部分组成的。
在介绍这个示例之前,大家需要到 Watin 官网上下载 Watin 。同时,为了更好的协助你的工作 ,你需要下载安装 IE Developer Toolbar ,用来查看网页的元素信息。
下面是一段 Watin 代码 , 效果是打开百度 网页,然后在搜索 “Watin” ,最后返回搜索结果。
我们编写 Watin 代码一般使用 Vistual Studio 作为 IDE ,在建立一个项目后,要把之前下载的 Watin.Core.dll 引用到项目中,并在代码之前加“ using WatiN.Core ”。
具体代码如下:
//实例化IE类,可以把实例化的ie看成是页面,以后的操作基本都是它打交道
IE ie =new IE ("http://www.baidu.com/" );
//找到搜索输入框,并输入“Watin”
ie.TextField(Find .ById("kw" )).TypeText("Watin" );
//找到搜索按钮并点击
ie.Button(Find .ById("su" )).Click();
//查询结果中找到搜索的相关信息
string result = ie.Table(Find .ByClass("bi" )).TableRows[0].TableCells[1].Text;
//打印搜索信息
Console .WriteLine(result);
Console .ReadLine();
上段代码大体的作用应该比较清楚了,其中具体的类和方法的用法将会在下一章中介绍。
资料及资源 :