【IT168 技术文档】
前段时间,由于测试需要,使用C#结合WatiN组件,开发了一个小小的web自动化测试工具。
WatiN 是一个非常简单灵活的测试框架,可以模拟用户在客户端浏览器中的大部份操作,API也比较简单。
一、实现url调用和web控件的控制很简单,参考下面代码:
请 for (int i = 0; i < txtUrls.Length; i++)
{
try
{
WatiN.Core.DialogHandlers.AlertDialogHandler dh = new WatiN.Core.DialogHandlers.AlertDialogHandler();
using (IE ie = new IE(txtUrls[i])) //调用URL,txtUrls[i]为Url地址
{
ie.AddDialogHandler(dh);//增加一个控制句柄
ie.CheckBox("cblSets_6").Checked = false;
ie.CheckBox("cblSets_8").Checked = true;
ie.Button("btnSave").ClickNoWait(); //执行保存
ie.RemoveDialogHandler(dh);
ie.Close();
}
}
catch (Exception e)
{
sb.Append("Execute Err:").Append(txtUrls[i]).Append(";");
}
}
二、WatiN 里常用的类
WatiN.Core.Find
最普遍使用的类就是Find类的,它是一个工厂类,主要使用它的静态方法来实现一些查询条件。比如像上面的例子中的这个语句“ie.Button(Find.ByName("btnG")).Click();”就调用了Find的静态方法ByName来查询一个name属性为指定值的HTML元素,然后再调用IE对象的Button方法把这个元素转换为按钮对象。
WatiN.Core.IE
这应该是最关键的类了。他常用的方法是和属性为
属性
HtmlDialogs 返回当前对象用JavaScript打开的模式窗口(需然帮助文档中说非模式窗口也包括在内,但在试用中发现用window.open打开的窗口没有被)
Frames 返回当前的象里的所有Frames
方法
静态方法 AttachToIE 与一个已经找开的IE关连。
Button,TextField,Image,Div 等一系列方法。与Find对象共同使用用于返回IE中特定的按钮,输入框,等HTML元素。