度过了一个冬眠,在春末夏初之际,补充自己的营养,努力学习,努力工作!

web_find和web_reg_find的用法和区别

上一篇 / 下一篇  2009-10-13 11:49:50 / 个人分类:转贴

一、web_find()函数51Testing软件测试网[-m0{B;M)t
51Testing软件测试网3ln-g#zlX5i0\
该函数的作用是“在页面中查找相应的内容”,常用参数及含义如下:
4f@u#xhU0
j-b5G"]j*\0web_find("web_find", //定义该查找函数的名称
U h*aa4{ mG5d0"RightOf=a", //定义查找字符的右边界
IZ}s3~3}x8E#G0"LeftOf=b", //定义查找字符的左边界51Testing软件测试网oi f;pK/z!v? |
"What=name", //定义查找内容51Testing软件测试网(i ~opam ?
LAST);51Testing软件测试网Mm d?+X%c#\&q(V\0l
51Testing软件测试网,]%VCUX RX6oZ kx
使用该函数注意以下事项:
\1u1?&{-JT_K051Testing软件测试网8oQ6x-y9p(y"d#~DQ4J
1、 位置51Testing软件测试网(M@+L,CT~
该函数在页面内容显示出来以后,在页面中进行查找,所以只能写在要查找内容之后51Testing软件测试网$oX6c&@i9wg IY

8p2vr@'{-c&tnG:Q02、 录制模式
j\_,Q:adD[:j `'|9T0该函数只能在基于HTML模式录制的脚本中进行查找51Testing软件测试网'd%@!O Pwj

|jCP#o~:~5vA03、 必须启用内容检查选项
7[:ia4P(dv0在runtime setting->Preferences里面,把Enable image and text check选中,否则不执行该查找函数51Testing软件测试网@\(~&k T)} dV1lb

^2at#fA$UX,c2k^.X04、 在VB和JAVA语法中不支持该函数51Testing软件测试网k:L6qtq6q#S6t
该函数有以下一个缺点:51Testing软件测试网Y4~B.CYt"`%[ \
51Testing软件测试网:i5r*yb~Q.p;x
1、 执行效率较低
2yz,D6p1xY%u'~0d_$Z0
2m`-U9fYg02、 不返回查找结果情况,如想在执行该函数后根据查找结果做进一步操作时,没有返回值可以依据51Testing软件测试网2]1w!c q&CE'I9Ei
51Testing软件测试网4GAWl6zO8H'@t
例如:51Testing软件测试网&?2KO'i$D Y
51Testing软件测试网5zlEw`*VMH
在页面中查找“登录成功”的字符串,如果找到该字符串在日志中输出“登录成功”,如果找不到该字符串,则在日志中输出“登录失败”,此时使用该函数没有依 据来做此判断,但使用web_reg_find()函数,使用它其中的SaveCount可以进行判断,具体方法我们下面介绍。
AH r8k6n051Testing软件测试网(K@wv"vx4dMW
二、web_reg_find()函数
?"t7?8Rb!S051Testing软件测试网%?M7l*sF/d3C{ W
该函数的作用是“在缓存中查找相应的内容”,常用参数及含义如下:
-t~8zfo\0web_reg_find("Search=Body", //定义查找范围
VP'G"dG0"SaveCount=ddd", //定义查找计数变量名称51Testing软件测试网[)m8OK%i#F
"Text=aaaa", //定义查找内容51Testing软件测试网{_ n%lj[#xN'l~;b
LAST);
P C)nvxp051Testing软件测试网IHcq1WqO kV;p;p
使用该函数注意以下事项:51Testing软件测试网'JwD`aW2d!}
51Testing软件测试网 |&L}](J3}
1、 位置51Testing软件测试网.A4Ei%F qn9KD9l

&^Vx9| Yl0该函数写在要查找内容的请求之前,通常情况下写在如下六个函数之前:
R5yF#[KO;^051Testing软件测试网)K D]E3B8px2B7B
Web_castom_request();
!^g7p0YE_tI0web_image();
+r(x7T-Q'?0web_link();
"b*Tkb$M0web_submit_data();
(D |&D\i#Eb0web_submit_form();51Testing软件测试网9s8S BA*qh
web_url()
AJ|0{M]0
+tI |'c%o02、 使用技巧
"N}zbZ_GP y N0
x2X4M5POR0]4n+LJ5p0在该函数的参数中有个“SaveCount”,该参数可以记录在缓存中查找内容出现的次数,我们可以使用该值,来判断要查找的内容是否被找到,下面举个例子来说明:(引用LR的帮助中的例子)
,jY U-cJ(mB/U H:h0
.|+pH'Y)J"aE"V0// Run the Web Tours sample
+x8B2B(p#k*H\v.g0web_url("MercuryWebTours",51Testing软件测试网D P~^;S!q
"URL=http://localhost/MercuryWebTours/",
r,I#r0R"l0"Resource=0",
/~ O0MtQX0"RecContentType=text/html",51Testing软件测试网/jp0] Aw
"Referer=",
8OajmFwk4k.bN0"Snapshot=t1.inf",
J!U&A*YP'tLj1v0"Mode=HTML",51Testing软件测试网MUDrC:HJ\
LAST);
G,h`D0\ g051Testing软件测试网!B9C[,d Q'k$a
// Set up check for successful login by looking for "Welcome"51Testing软件测试网 WmeSiN l @z
web_reg_find("Text=Welcome",
:wD+`(h'Kk0"SaveCount=Welcome_Count",51Testing软件测试网D+^-~{&N/uL&o
LAST);
i],u^ZcfB'Gs051Testing软件测试网z2d faU ?,BKQ
// Now log in
(M%[I`1A8[&DS0web_submit_form("login.pl",
bYn)g-kH(h0"Snapshot=t2.inf",
l/fiUq*K)V+@g0ITEMDATA,51Testing软件测试网J1Ea+iU W3FS DQ
"Name=username", "Value=jojo", ENDITEM,51Testing软件测试网%WUX!?eRs
"Name=password", "Value=bean", ENDITEM,
2\4d6t5F5p+P"`0"Name=login.x", "Value=35", ENDITEM,51Testing软件测试网PXjx2X/pG-g4a+h
"Name=login.y", "Value=14", ENDITEM,51Testing软件测试网zx? }V!W^
LAST);
A%Z2VG@ xPcdz051Testing软件测试网0pN,{!f#YXN2\
// Check result
1B Fq ~8}J)p0if (atoi(lr_eval_string("{Welcome_Count}")) > 0){ //判断如果Welcome字符串出现次数大于0
:oi0G%DQ/K0lr_output_message("Log on successful."); }//在日志中输出Log on successful
S6qA)}+A NN6]0else{ //如果出现次数小于等于51Testing软件测试网,H5MQ#x,^}1a
lr_error_message("Log on failed"); //在日志中输出Log on failed51Testing软件测试网HWPXj)Dt
return(0);51Testing软件测试网gU |7Ay [ iS
}51Testing软件测试网 fKC h UX"C

/|!c-r5Qz \051Testing软件测试网d2~)aS"P U~|'R:q
我觉得这个方法非常有用,我们可以举一反三,应用到我们实际的项目中
LK`/e_6Q:_t051Testing软件测试网y NDm2Trz6p!L
三、插入函数的方法
Y:r/Odz)ThQf0
O\Tc3\01、 手工写入,在需要插入函数的位置手工写入该函数51Testing软件测试网A.Bp XrY
51Testing软件测试网+F6R;N]7q-dC9_
2、 光标停留在要插入函数的位置,在INSERT菜单中,选择new step,在列表中选择或查找要插入的函数,根据提示填写必要的参数51Testing软件测试网.P?Ku`3]

#O-n7\SQ'F&n03、 在tree view模式下,在树状菜单中选中要插入函数的位置,右键,选择insert after或insert before,根据提示填写必要的参数51Testing软件测试网dMd']l Cy|

3nq K)o-{@T0四、总结51Testing软件测试网T Wi K(\ ^
51Testing软件测试网1HA$q]v5B K7c"\9_
1、 这两个函数函数类型不同,WEB_FIND是普通函数,WEB_REG_FIND是注册函数
o7U.?+k-b1~G1w(r02、 WEB_FIND使用时必须开启内容检查选项,而WEB_REG_FIND则不没有此限制
A6~v l mD3| }03、 WEB_FIND只能只用在基于HTML模式录制的脚本中,而WEB_REG_FIND没有此限制51Testing软件测试网N n8`"md9w
4、 WEB_FIND是在返回的页面中进行内容查找,WEB_REG_FIND是在缓存中进行查找51Testing软件测试网;jQ]{,U(|
5、 WEB_FIND在执行效率上不如WEB_REG_FIND51Testing软件测试网o6o%v RD!M/jjm

B\L%Kc0说白了,用web_reg_find 的优先级要远远高于web_find,所以 web_find已经属于向后兼容的功能,不在推荐使用了。

TAG:

perspicacity的个人空间 引用 删除 perspicacity   /   2011-02-24 10:45:58
讲解得非常到位,谢谢!
 

评分:0

我来说两句

Open Toolbar