Watin概述
来源:互联网 发布:linux延时函数 编辑:程序博客网 时间:2024/06/11 17:15
Watin作为一个自动化测试库,具有轻便,灵活的特点。而这都建立在对复杂操作封装的基础之上。Watin的原理和其它web自动化测试工具基本类似,就是通过操纵浏览器和web页面中的DOM对象来实现模拟用户操作网页。Watin封装了复杂的DOM操作并提供了大量的扩展,使对web网页的操作更灵活,更简便。本篇文章并不能做到深入解析Watin具体的原理,内部架构,也没必要去深究。我们要做的就是以使用者的角度去分析如何使用watin并不断在工作中完善。
HTML元素与Watin类的映射
在介绍watin类和方法用途之前,大家最好对HTML元素与watin类的映射关系进行一个大体的了解。因为你在编写测试代码之前,首先是通过工具查看web页面中元素的信息,确定该元素的类型时候,通过映射关系才能确定使用watin中的哪个类。所以这个映射关系很重要。
详细的映射关系,请查看映射表。
Web页面常用元素操作
介绍Watin如何对web页面中常见的一些元素进行操作。以及watin相关类和方法的介绍。在详细说明之前,首先创建一个页面,其中加入常用的页面元素(比如inpu,label等),用来演示测试代码。具体代码见附件。
然后再介绍一下,在编写测试代码过程中常用的类和主要的方法。
Watin中常用的类和方法
IE类:最基础,最重要的一个类,用于访问Web页面中的元素以及操纵IE浏览器。
Goto( string):导航到某个地址的网页。
Close() :关闭浏览器
ContainsText(String):是否包含指定的文本文字
CaptureWebPageToFile(string):对当前web页截图并保存到指定位置
ClearCache():清除Cache
ClearCookie():清除Cookie
………
Find类:也是必须用到的一个类,用于查找并定位web页面中的元素。
Byid() :通过元素的id属性进行查找
Byname():通过元素的name属性进行查找
………
其它类和方法请详见MSDN style. online documentation
Watin对常用页面元素的操作
<A>元素
<a>标签对应DOM中的Anchor对象。表示Html中的超链接。
<aid="baidu"href="http://wwww.baidu.com">百度</a>
Watin操作<a>元素的代码如下
ie.Link(Find.Byid("baidu")).Text;//返回超链接文字
ie.Link(Find.Byid("baidu")).Url;//返回超链接的Url
ie.Link(Find.Byid("baidu")).Click();//点击超链接
备注:有些开发不规范的web页,有可能只有href属性存在的现象,这时只有通过Find.ByUrl(url)进行查找。
<input type="text">元素
<input type="text">元素对应HTML DOM中的Text对象。表示一个单行的标准输入框。
<inputid="Text1"type="text"/>欢迎!</p>
Watin操作<a>元素的代码如下
ie.TextField (Find.Byid("Text1")).Value;//返回输入框中的文字
ie.TextField (Find.Byid("Text1")).TypeText("Watin");//输入框中输入”Watin”
<input type="button">元素
<input type="button">元素对应HTML DOM中的Button对象。表示一个按钮
<inputid="btn"type="button"/>登录</p>
Watin操作<a>元素的代码如下
Ie.Button (Find.Byid("btn")).Text;//返回按钮中的文字
ie.Button (Find.Byid("btn")).Click();//点击按钮
<input type="checkbox">元素
<input type="Checkbox">元素对应HTML DOM中的Checkbox对象。表示一个选择框
<inputid="chk"type="checkbox"/>勾选</p>
Watin操作<a>元素的代码如下
Ie.CheckBox (Find.Byid("chk")).Text;//返回选择框的文字
ie.CheckBox (Find.Byid("chk")).Click();//点击选择框
ie.CheckBox (Find.ById("chk")).Checked =true;//设置Checkbox的勾选状态
<area>元素
<area>标签对应HTML DOM中的area对象。表示图像映射的一个区域(图像映射指的是带有可点击区域的图像)
<imgsrc="map/map.jpg"alt="校区地图"width="1004"height="601"border="0"usemap="#Map"/>
<mapname="Map"id="Map">
<area shape="rect"alt="a1"coords="134,59,255,92"href="edushiMap.html" />
<areashape="rect"alt="a2"coords="345,122,464,160"href="edushiMap.html"/>
</map>
Watin操作<area>元素的代码如下
ie.Area(Find.ByAlt("a1")).Url;//返回area区域的url
ie.Area(Find.ById("area1")).Click();//点击area区域
ie.Area(Find.ByAlt("a1")).Click();//点击area区域
<Select>元素
<Select>元素对应HTML DOM中的Select对象。表示一个下拉列表
<selectid="Select1">
<option>1</option>
<option>2</option>
</select>
Watin操作<Select>元素的代码如下
ie.SelectList(Find.ById("Select1")).Select(string);//返回选择框的某项
<table>元素
<table>元素对应HTML DOM中的table对象。表示一个表格
<tablestyle="width:100%;"id="table1" class="class1">
<tr>
<tdclass="style1">
第1行第1列</td>
<tdclass="style1">
第1行第2列</td>
</tr>
<tr>
<td>
第2行第1列</td>
<td>
第2行第2列</td>
</tr>
</table>
Watin操作<table>元素的代码如下
ie.Table(Find.ByClass("class1")).TableRows[0].TableCells[1].Text;//返回表格中项的数据
- Watin概述
- Watin
- WatiN 简介
- Watin测试
- Watin测试
- WatiN系列之一 初识Watin
- WatiN系列之二 解析Watin
- WatiN系列之二 解析Watin
- watin----- web单元测试利器
- watIN使用心得
- WatiN自动化测试
- WatiN自动化测试
- Watin系列之四 Watin与VSTS单元测试工具结合
- WatiN系列之五 Watin与Nunit结合进行测试
- WATIN如何处理确认对话框
- WATIN如何处理确认对话框
- WatiN与QTP的选择
- Flashget插件与WatiN不兼容
- codeforce Sereja and Coat Rack(简单排序)
- PHP CodeIgniter向数据库插入数据时报错Undefined property: User::$db
- spring整合jdbc
- ant的安装以及使用
- PHP----Ajax异步请求
- Watin概述
- codeforce Sereja and Suffixes(简单题)
- 堆煤球 ( 2013年11月24日 蓝桥杯校内选拔赛c\c++B组)
- UML Ration Rose
- c# 中的file和fileinfo,directory和directoryinfo以及filesysteminfo
- #define用法
- stdafx.h作用及原理
- 文件上传
- Java二叉树排序及任意两点个节点间的最大距离