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

web_find和web_reg_find的用法和区别

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

一、web_find()函数51Testing软件测试网 ooe{-u5h4E!I
51Testing软件测试网j ShUVH y
该函数的作用是“在页面中查找相应的内容”,常用参数及含义如下:
q.S R!H-ci&o3W%O0
6M*T,P0lS4l?/qIFE0web_find("web_find", //定义该查找函数的名称51Testing软件测试网 rkyv1B4b:W1O
"RightOf=a", //定义查找字符的右边界
*xdTk&c0"LeftOf=b", //定义查找字符的左边界
Y h J4E_ Ir0"What=name", //定义查找内容
7{'|b q R6w-K0LAST);51Testing软件测试网rq(]4u pV] sr B&c

&K9e&u |V\vy0使用该函数注意以下事项:
-mp$ZKlVI051Testing软件测试网H!\-b']'eR|"k
1、 位置
0p|B.\:l#J:]p4L5MZ0该函数在页面内容显示出来以后,在页面中进行查找,所以只能写在要查找内容之后51Testing软件测试网)NK `+?;x/pdt$X[
51Testing软件测试网jf*tq A,Au
2、 录制模式
2V+AL#B6a}f R0该函数只能在基于HTML模式录制的脚本中进行查找
0o:Yr$e M)I4X\051Testing软件测试网.`*I)_J;KK
3、 必须启用内容检查选项51Testing软件测试网v(dR!nbk&Dl m!J
在runtime setting->Preferences里面,把Enable image and text check选中,否则不执行该查找函数
Z4NrsRJV0
n3E(O4oLo8M$\G`04、 在VB和JAVA语法中不支持该函数51Testing软件测试网V@!^#}1r#~Z
该函数有以下一个缺点:
[b+t8mS9P0
{i~c,A2Af01、 执行效率较低
n4l:IL5{%i$U!d0
.]9a"IbP Z{m,h;?02、 不返回查找结果情况,如想在执行该函数后根据查找结果做进一步操作时,没有返回值可以依据
i`%{"|7Dg6A?0
,f ]6QoB }~!O*g4v2p0例如:
7N(f%m @&lZ;lsr0
fd*O/g q ql0在页面中查找“登录成功”的字符串,如果找到该字符串在日志中输出“登录成功”,如果找不到该字符串,则在日志中输出“登录失败”,此时使用该函数没有依 据来做此判断,但使用web_reg_find()函数,使用它其中的SaveCount可以进行判断,具体方法我们下面介绍。51Testing软件测试网t4k M3O1raq
51Testing软件测试网1a BAOuc6^K
二、web_reg_find()函数51Testing软件测试网p \/WP qk
51Testing软件测试网MT6A*S:]qc E
该函数的作用是“在缓存中查找相应的内容”,常用参数及含义如下:51Testing软件测试网'?7H d6u!dA$S
web_reg_find("Search=Body", //定义查找范围51Testing软件测试网%A,Y3DRqi!d(B
"SaveCount=ddd", //定义查找计数变量名称51Testing软件测试网1P c q%\yZD
"Text=aaaa", //定义查找内容
xhV-Q&y;MV0LAST);51Testing软件测试网O`c6Kl Mkr
51Testing软件测试网Q&Z(RQ@#W\z
使用该函数注意以下事项:
%q V,P1KI|:kA0
3zUv0j~3h O;N`01、 位置
y+d2D5n2P3u.t0
w~` i5YX(v;P0该函数写在要查找内容的请求之前,通常情况下写在如下六个函数之前:51Testing软件测试网&@!}!\*r2o7`Tu

]AB-Rqo!Ze0Web_castom_request();
fG+T3@VpBe2Bd0web_image();
sll9B8Lhdr]0web_link();51Testing软件测试网SM#ZIM.sAF
web_submit_data();51Testing软件测试网}WT,K_uG
web_submit_form();51Testing软件测试网SmB;@0f6tA bZ x
web_url()
xc av dC$}!d}n051Testing软件测试网 y/Js,xy;S'`1G;R
2、 使用技巧
8|kc^OS051Testing软件测试网0[ ` O;OZ6e
在该函数的参数中有个“SaveCount”,该参数可以记录在缓存中查找内容出现的次数,我们可以使用该值,来判断要查找的内容是否被找到,下面举个例子来说明:(引用LR的帮助中的例子)
R:f9xZ x'vm051Testing软件测试网$e1F6^6NP,xxk,A"tk+B~
// Run the Web Tours sample51Testing软件测试网XzUDg#K)j$t
web_url("MercuryWebTours",
]nwyD/GW][o0"URL=http://localhost/MercuryWebTours/",
b { S2Jq*p@@%A6SLx0"Resource=0",51Testing软件测试网C c{Z9Fw {
"RecContentType=text/html",
K0X2]H.Yq%GI0"Referer=",
{$t&i*R;L0"Snapshot=t1.inf",
4L6X:Q,Y1{;Z0"Mode=HTML",
2SH-p#jw0LAST);51Testing软件测试网})y\0G j n

&S!mg(i2x6g~X|(R(L0// Set up check for successful login by looking for "Welcome"51Testing软件测试网${%H9J3L&Q!^yBw/t
web_reg_find("Text=Welcome",
?n#V3i dU0"SaveCount=Welcome_Count",
6qgnO4]iX d ]0LAST);51Testing软件测试网jKx5Hlj

^3p6v1CJ9|@0// Now log in
0\8rpCFb{0web_submit_form("login.pl",51Testing软件测试网\ R"j2cSu$@t
"Snapshot=t2.inf",
tqU ]C,b6N8e0ITEMDATA,51Testing软件测试网op;^/gG'C,U0v_
"Name=username", "Value=jojo", ENDITEM,51Testing软件测试网&V;hEY ?P7{
"Name=password", "Value=bean", ENDITEM,
[/zPEW0"Name=login.x", "Value=35", ENDITEM,
x|q v0cKQ0"Name=login.y", "Value=14", ENDITEM,
Ur&j-RE&~'q0LAST);51Testing软件测试网 }Gp#NRPzJ
51Testing软件测试网$F^B FU` Sa#Im*p
// Check result
tt ZG8?B f0if (atoi(lr_eval_string("{Welcome_Count}")) > 0){ //判断如果Welcome字符串出现次数大于051Testing软件测试网{+zS6R+iY%?)pf
lr_output_message("Log on successful."); }//在日志中输出Log on successful51Testing软件测试网@E*P$e \2{3[!_"K;R\f
else{ //如果出现次数小于等于
h&E j$wZ$j:Rq0lr_error_message("Log on failed"); //在日志中输出Log on failed
0ND(G*~ b)tHo s0return(0);51Testing软件测试网&]|W1y3y@(h
}51Testing软件测试网,Fe0Xna;vB

!b`JQ%Q9]0
/p+[dC @*b-U G1r?`0我觉得这个方法非常有用,我们可以举一反三,应用到我们实际的项目中
Go:@\HJspu-Z6G051Testing软件测试网0dI;PZ z.g e7qDobw
三、插入函数的方法51Testing软件测试网0\m&V(i(O"SP%|

WyD+r;C\01、 手工写入,在需要插入函数的位置手工写入该函数51Testing软件测试网5H D?7IBFJ*r0b

JI*_9E0m02、 光标停留在要插入函数的位置,在INSERT菜单中,选择new step,在列表中选择或查找要插入的函数,根据提示填写必要的参数51Testing软件测试网1IS7l\o
51Testing软件测试网J$nzJ&QO5I
3、 在tree view模式下,在树状菜单中选中要插入函数的位置,右键,选择insert after或insert before,根据提示填写必要的参数
AaiS|TY0
u$NxG6@3Zy,hd:v0四、总结
P-mW*Y#R[[a/NT0
s7n!Z'f r4t R+y01、 这两个函数函数类型不同,WEB_FIND是普通函数,WEB_REG_FIND是注册函数51Testing软件测试网3N'J(t,]OM+Y,G p$C
2、 WEB_FIND使用时必须开启内容检查选项,而WEB_REG_FIND则不没有此限制51Testing软件测试网z+|J2Fq x"q
3、 WEB_FIND只能只用在基于HTML模式录制的脚本中,而WEB_REG_FIND没有此限制51Testing软件测试网^8Y@{?'~8q0G
4、 WEB_FIND是在返回的页面中进行内容查找,WEB_REG_FIND是在缓存中进行查找51Testing软件测试网NH M6S |np/U5Wd A
5、 WEB_FIND在执行效率上不如WEB_REG_FIND51Testing软件测试网hN$iBJ

5a^K/|9e+j}0n6H0说白了,用web_reg_find 的优先级要远远高于web_find,所以 web_find已经属于向后兼容的功能,不在推荐使用了。

TAG:

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

评分:0

我来说两句

Open Toolbar