(WatiN所有的接口)
1. IAttributeBag:用来获取继承此接口的所有类的属性值
String GetValue(string attributename) //返回参数中的这种属性的值。
2. ICompare:为AttributeConstraint类提供的接口,用来对比此控件的属性是否和给出的约束属性相同,返回波尔值。
bool Compare(string value)
3. ICompareElement:用来实现控件对比的接口,和上面的接口差不多,给出控件是否和所找到的控件相同。返回波尔值。
bool Compare(Element element)
l 4. IDialogHandler:用来判断是否存在此对话框的接口,返回值为bool.
bool HandleDialog(Window window)
5. IEIementCollection:获取HTML中的多个控件,返回为一个控件集
IHTMLElementCollection Elements {get;}
实现这个功能需要调用MSHTML接口。
说明一下MSHTML类:是提供访问所有的动态HTML对象中的控件,并且提供访问一些脚本编写的对象模式。
如何通过MSHTML类来访问页面上的控件:使用IHTMLDOcument2接口指针,可以获取到HTML页面上所有的控件.在获取这些控件后可以通过IHTMLElementCollection接口调用某种方法来对这些控件进行操作。然后就可以对这些COM控件进行事件操作。
6. IElementContainer:是个容器接口,提供通过不同方式获得需要查找的COM控件.以Area为例说明:
Area Area(string elementId) , Area Area(Regex elementId) , Area Area(BaseConstraint findBy)三种方法分别是通过ID、正则表达式、和约束类BaseConstraint来找到Area.
既然能够获得这些Area控件那么就应该去找个容器来存放这些Area即AreaCollection Areas {get;}
同样的Button, Checkbox, element, fileupload, form, label, link, RadioButton, SelectList, Table, TableCell, TableRow, TableBody, TextField, Span, Div, Image都通过这种方式来得到。
7. IFindByDefaultFactory:是用来默认的查找COM控件方法的接口,其它查找方法都是在此基础上继承下来的。可以通过字符串和正则表达式来获得。
BaseConstraint ByDefault(string value) , BaseConstraint ByDefault(Regex value)
8. IHwnd:此接口是用来找到Windows的API并设置属性的接口,用来控制Window窗口的。
IntPtr hwnd {get; }
string WindowText { get; }
bool IsWindow {get; }
bool IsWindowEnabled {get; }
string ClassName {get; }
void SendMessage (int msg, int wParem, int IParen);
IntPtr GetDlgItem(int contralid );
9. ILogWriter:此接口记录日志,如果你创建了自己的记录日志的类的话可以引用此接口。
无返回值,而是写入文件中。
Void LogAction (string message);
10. INativeBrowser: Watin去在浏览器上查找的基础接口类,通过几个参数找到页面上的某个控件。
AtiveElementFinder CreateElementFinder(ArrayList tags, BaseConstraint baseConstraint, IElementCollection elements);
AtiveElementFinder CreateElementFinder(ArrayList tags, IElementCollection elements);
AtiveElementFinder CreateElementFinder(string tagename, string iputtypeString, BaseConstraint baseConstraint, IElementCollection elements);
ativeElement CreateElement(object element);
11. INativeElement所有类型的COM控件都可以继承的基础方法接口类,
String TextAfter { get; } , string TextBefore{ get; } , INativeElement NextSibling { get; } , INativeElement PreviousSibling { get; } INativeElement Parent { get; } ,Style Style { get; }
string GetAttributeValue(string attributeName);void ClickOnElement();void SetFocus();void FireEvent(string eventName, NameValueCollection eventProperties);
string BackgroundColor { get; set; } , bool IsElementReferenceStillValid();
IAttributeBag GetAttributeBag(DomContainer domContainer); string TagName { get; }
object NativeElement { get; } void FireEventAsync(string eventName, NameValueCollection eventProperties);
12. INativeElementFinder:找到constraint和Element的基本方法类,同时包含把这两个元素转换为string的接口基本类。
INativeElement FindFirst();
INativeElement FindFirst(BaseConstraint constraint);
ArrayList FindAll();
ArrayList FindAll(BaseConstraint constraint);
string ElementTagsToString { get; }
string ConstriantToString { get; }
ITextElement:此接口类是用来支持TextField类实现控件的输入和密码的输入等。
Int MaxLength { get; }; bool ReadOnly { get; } , string Value { get; } , void Select ();
Void SetValue(string value);
String ToString (); string Name { get; }