简介
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引用到项目中,并在代码之前加“usingWatiN.Core”。
具体代码如下:
//实例化IE类,可以把实例化的ie看成是页面,以后的操作基本都是它打交道
IEie =newIE("http://www.baidu.com/");
//找到搜索输入框,并输入“Watin”
ie.TextField(Find.ById("kw")).TypeText("Watin");
//找到搜索按钮并点击
ie.Button(Find.ById("su")).Click();
//查询结果中找到搜索的相关信息
stringresult = ie.Table(Find.ByClass("bi")).TableRows[0].TableCells[1].Text;
//打印搜索信息
Console.WriteLine(result);
Console.ReadLine();
上段代码大体的作用应该比较清楚了,其中具体的类和方法的用法将会在下一章中介绍。
资料及资源: