WatiN系列之二 解析Watin

WatiN系列之二 解析Watin

上一篇 / 下一篇  2010-09-09 18:00:32 / 天气: 阴雨 / 心情: 平静 / 个人分类:WatiN

 概述51Testing软件测试网8nO([o G5Y-E:E

Watin作为一个自动化测试,具有轻便,灵活的特点。而这都建立在对复杂操作封装的基础之上。Watin的原理和其它web自动化测试工具基本类似,就是通过操纵浏览器和web页面中的DOM对象来实现模拟用户操作网页。Watin封装了复杂的DOM操作并提供了大量的扩展,使对web网页的操作更灵活,更简便。本篇文章并不能做到深入解析Watin具体的原理,内部架构,也没必要去深究。我们要做的就是以使用者的角度去分析如何使用watin并不断在工作中完善。51Testing软件测试网nEGN2|{E-xY

 51Testing软件测试网 ?2L @0[}/|8a C7}

HTML元素与Watin类的映射51Testing软件测试网D/W/P0q$i}J v

  在介绍watin类和方法用途之前,大家最好对HTML元素与watin类的映射关系进行一个大体的了解。因为你在编写测试代码之前,首先是通过工具查看web页面中元素的信息,确定该元素的类型时候,通过映射关系才能确定使用watin中的哪个类。所以这个映射关系很重要。51Testing软件测试网4I*Z9N"Hj7PR'W,|

51Testing软件测试网uJEz:QRQc

 

(]q PH:c*|(Wnok0

%{c A`Y0

详细的映射关系,请查看映射表

9F;Sk&c+G,~1x)p-x&B0

 

4w5kvC}uo5mH;f0

Web页面常用元素操作

'BN V;sn5`s-D0

  介绍Watin如何对web页面中常见的一些元素进行操作。以及watin相关类和方法的介绍。在详细说明之前,首先创建一个页面,其中加入常用的页面元素(比如inpu,label),用来演示测试代码。具体代码见附件。51Testing软件测试网O\&u l ]$N3y+n^ R

  然后再介绍一下,在编写测试代码过程中常用的类和主要的方法。51Testing软件测试网7_{~0T+Gl

Watin中常用的类和方法

(S:he'nx3FN%]0

  IE:最基础,最重要的一个类,用于访问Web页面中的元素以及操纵IE浏览器。51Testing软件测试网IxMbD IiB;]

Goto( string):导航到某个地址的网页。51Testing软件测试网\i)eN;Kxj3L/c

Close() :关闭浏览器51Testing软件测试网*m!H!@#}h+~

ContainsText(String):是否包含指定的文本文字

Vhj zj2J?0

CaptureWebPageToFile(string):对当前web页截图并保存到指定位置

ux7|1]Q|2v%S0

ClearCache():清除Cache51Testing软件测试网'Y&@@u4T I/v/pc P

ClearCookie():清除Cookie

UAeV I!i yo m0

……… 51Testing软件测试网4yQ Q-qA(m*Z_ r/w

 Find:也是必须用到的一个类,用于查找并定位web页面中的元素。

s U `"e4AmM'c0

Byid() :通过元素的id属性进行查找

n$p6z+y*W9\0

Byname():通过元素的name属性进行查找

O{3@s&o X3q4Q9I0

………

m*y G#u?}i0

 其它类和方法请详见MSDN style. online documentation  51Testing软件测试网\9gr7G}

 Watin对常用页面元素的操作

G HaQ/ek ?C0

<A>元素51Testing软件测试网)Q(drUQ#y y,bA

 51Testing软件测试网3} fne(G0Vf g

 <a>标签对应DOM中的Anchor对象。表示Html中的超链接。51Testing软件测试网J2c(B`&k bX

51Testing软件测试网6hR5M] X m mz

<aid="baidu"href="http://wwww.baidu.com">百度</a>51Testing软件测试网.NE-H4`+J5^P1X$C(|

3M1v!Acf#z.I5H2U:|m2W0

Watin操作<a>元素的代码如下51Testing软件测试网&aar_a9]

51Testing软件测试网/H Z4POyzI

ie.Link(Find.Byid("baidu")).Text;//返回超链接文字

-R]ym[ Q,U0

ie.Link(Find.Byid("baidu")).Url;//返回超链接的Url

JHP*Z#~ whk5b8r0

ie.Link(Find.Byid("baidu")).Click();//点击超链接

!G Fd-\7Y)ZL3l'AzL0

IB5gS1Nm+Vq0

备注:有些开发不规范的web页,有可能只有href属性存在的现象,这时只有通过Find.ByUrlurl)进行查找。51Testing软件测试网/H `RFcZ\U mv

 

:Z.in^u{f0

<input type="text">元素51Testing软件测试网;x@FD1D0n

 <input type="text">元素对应HTML DOM中的Text对象。表示一个单行的标准输入框。51Testing软件测试网O9I+RV0_{/\0zl

51Testing软件测试网B-l/wwhY-k

<inputid="Text1"type="text"/>欢迎!</p>

L9C$pG:[0

6Jq#SGajA0

Watin操作<a>元素的代码如下

}1^Cd2nk#b0

5q*D[D!ns5Nk0

ie.TextField (Find.Byid("Text1")).Value;//返回输入框中的文字51Testing软件测试网Eb.A2V#MGtgM

ie.TextField (Find.Byid("Text1")).TypeText("Watin");//输入框中输入Watin51Testing软件测试网zA"Fi#I w

lG?G;W:Df5T0

 51Testing软件测试网+nO{0F|Bw

 

!l'[/E`8`0

<input type="button">元素51Testing软件测试网C)u+F$i UB$d1v

<input type="button">元素对应HTML DOM中的Button对象。表示一个按钮51Testing软件测试网'P$nYcH)}%Dl

e}+UBb'xh3LP0

<inputid="btn"type="button"/>登录</p>

[1E+dQ frn `U9H0
51Testing软件测试网&Ik X l4i2Z@Sq

Watin操作<a>元素的代码如下51Testing软件测试网._JEz`

w4Qs AD#Z0x@H0OS0

Ie.Button (Find.Byid("btn")).Text;//返回按钮中的文字

V1~$cm!N&KL,N I0

ie.Button (Find.Byid("btn")).Click();//点击按钮51Testing软件测试网5ts$|8U:oGT

51Testing软件测试网d8OzAZ:m

 51Testing软件测试网R/buT-Im

 

}+M$lAUfT0

<input type="checkbox">元素51Testing软件测试网p+k?A k;z+j6Fr

<input type="Checkbox">元素对应HTML DOM中的Checkbox对象。表示一个选择框51Testing软件测试网Y{h9B(H9h

t/P Z;R!a0

<inputid="chk"type="checkbox"/>勾选</p>51Testing软件测试网(j7x&mhV,w { RI(K

{~0R f/x*].s zD0

Watin操作<a>元素的代码如下51Testing软件测试网-Y*c$epg0J%ei+V l(R

51Testing软件测试网B@X0t8{ F#|C

Ie.CheckBox (Find.Byid("chk")).Text;//返回选择框的文字

@9g;P {0Q Ar0

ie.CheckBox (Find.Byid("chk")).Click();//点击选择框

$\f,Q3D6by6[.|0

ie.CheckBox (Find.ById("chk")).Checked =true;//设置Checkbox的勾选状态51Testing软件测试网#y f,MbKp Q M

51Testing软件测试网SZ,N*e8V1_.nBc#d

 51Testing软件测试网5F:u*l'C+Z}!So

<area>元素51Testing软件测试网Hj2w`j` k

<area>标签对应HTML DOM中的area对象。表示图像映射的一个区域(图像映射指的是带有可点击区域的图像)51Testing软件测试网){Gq6C{$oAj.DPx C

<imgsrc="map/map.jpg"alt="校区地图"width="1004"height="601"border="0"usemap="#Map"/>51Testing软件测试网 Pb{W_;l6O*z

<mapname="Map"id="Map">51Testing软件测试网5u Lb:r Q4u+g&p

<area shape="rect"alt="a1"coords="134,59,255,92"href="edushiMap.html" />

jT7|:`}f _:j0

<areashape="rect"alt="a2"coords="345,122,464,160"href="edushiMap.html"/>51Testing软件测试网Rp)sU[HgK$o$U

</map>51Testing软件测试网1Yy.P@ Y

51Testing软件测试网-?AQ-gC:t?\VnL

 51Testing软件测试网1RX)e9AZ8i{\

Watin操作<area>元素的代码如下

DgWx{;?*O!]0

ie.Area(Find.ByAlt("a1")).Url;//返回area区域的url

IRw$d&F5B+C4E0

ie.Area(Find.ById("area1")).Click();//点击area区域51Testing软件测试网(c#\/D,m }/O Wr0H

ie.Area(Find.ByAlt("a1")).Click();//点击area区域

J6a+C6x4c9vsT0

 

Z9R+ydt(WL9b+T~5H @0

<Select>元素

![v?#d)lk0

<Select>元素对应HTML DOM中的Select对象。表示一个下拉列表51Testing软件测试网E*MG"`|]

51Testing软件测试网GIY1~Q"w'UL

<selectid="Select1">51Testing软件测试网syB sz0`{R

   <option>1</option>51Testing软件测试网 g3{7S`%ur4wjFs

   <option>2</option>51Testing软件测试网$\SLG;I*X8v'U]c"T

</select>

#Z1CA'?0dJ(wr\L0

.q3I7Lsa0

Watin操作<Select>元素的代码如下51Testing软件测试网j8c-iT ^m1jc

;h;mk I4ZBLdV0

ie.SelectList(Find.ById("Select1")).Select(string);//返回选择框的某项51Testing软件测试网6FEL p,L@l ny

/?`^$L t ]4]C E/s0

 51Testing软件测试网0pG0p2F wb{[

 51Testing软件测试网YY u[3T%j

<table>元素51Testing软件测试网*M4zgx-u"t!]Y

<table>元素对应HTML DOM中的table对象。表示一个表格

g\;\{'sD2E$dB0

:o|g"c1g0

<tablestyle="width:100%;"id="table1" class="class1">

LpKN"KI'm} K?0

   <tr>51Testing软件测试网.o'N&DXU$@6^'Z,w

       <tdclass="style1">51Testing软件测试网xq"y0}w*i

           第1行第1列</td>

sb;DL,[QMm5W0

       <tdclass="style1">51Testing软件测试网 JFu/e^0R2|6Wo

           &nbsp;

|Eu(b'B[0

           第1行第2列</td>51Testing软件测试网E#h6e)j rA

   </tr>51Testing软件测试网1RiCd[Zs{

   <tr>51Testing软件测试网"@9N2N Ha,a#R EL/t

       <td>

}r j3T+^ n0

           第2行第1列</td>51Testing软件测试网uqk`"W!r

       <td>51Testing软件测试网(L t'qhc(ba7ft

           &nbsp;

0N3gc+q+yY1O(M};wY0p0

           第2行第2列</td>

8I%B7Sj;Q \0J ZR0

   </tr>

"Tt9^0q$N ^;vy'b0

   </table>

DSRd#T l6QR c0
51Testing软件测试网)pfJX C

Watin操作<table>元素的代码如下51Testing软件测试网{(C R#zc:Xd

51Testing软件测试网%` v-EY w

ie.Table(Find.ByClass("class1")).TableRows[0].TableCells[1].Text;//返回表格中项的数据51Testing软件测试网 T5u'n-VO s+]

e\,eRVdyQ0

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值