WatiN-Html元素的操作
自动化测试,何为自动化测试,简单点说就是机器代替人工操作,那么WatiN实现Web应用在浏览器上的自动化就需要模拟人工点击、输入、选择、拖放等等操作,在这些操作中会触Html元素的onclick、onchange、onmousemove等事件。在WatiN中提供了FireEvent和FireEventNoWait。下面举一些常见的元素操作例子。
1、文本框输入
有人说,不就是文本框输入吗,可简单,直接设置元素Value属性就可以了。是的,如果只是输入的动作,那么就这么简单,但是在实际测试中,文本框的onchange、onblur、onfocus等事件就需要考虑了。
实例:
Html
1 <html> 2 <head> 3 <meta charset="utf-8"> 4 <title>WatiN测试页面</title> 5 </head> 6 <body> 7 <div> 8 <input type="text" id="txtName" onblur="alert('失去焦点')" /> 9 </div> 10 </body> 11 </html>
C#
1 IE ie = IE.InternetExplorers().FirstOrDefault(p => !string.IsNullOrEmpty(p.Title) && p.Title == "WatiN测试页面"); 2 3 TextField name = ie.TextField(Find.ById("txtName")); 4 name.Focus(); 5 name.Value = "张三"; 6 7 name.FireEvent("onblur");
2、选择框
Html
<html> <head> <meta charset="utf-8"> <title>WatiN测试页面</title> </head> <body> <div> <select id="selState"> <option>--请选择--</option> <option>待出库</option> <option>已发货</option> <option>配送中</option> <option>已签收</option> </select> </div> </body> </html>
1 IE ie = IE.InternetExplorers().FirstOrDefault(p => !string.IsNullOrEmpty(p.Title) && p.Title == "WatiN测试页面"); 2 3 SelectList stateList = ie.SelectList(Find.ById("selState")); 4 stateList.SelectByValue("已发货");