本空间所有日志均为原创,如有转载请注明出处!!!!!!! 有需要讨论问题的可加QQ:28005389(上班时间一般都在隐身),邮箱hurh_888@sina.com 共同学习、共同进步

Loadrunner中web_reg_save_param的使用详解

上一篇 / 下一篇  2009-07-22 15:50:25 / 个人分类:loadrunner

t g%D8e5kY#oe)y*p0语法:51Testing软件测试网 H)b2U6a4N#q[+t
int web_reg_save_param(const char *ParamName, <list of Attributes>, LAST);51Testing软件测试网H!Z-A&_X{^7c |W

(`+o3f-v+PJU(G0返回值:
o1p&Pj*o0v0如果成功返回LR_PASS (0),如果失败返回LR_FAIL (1)51Testing软件测试网*k{8x0G#_ A
在这里注意,在默认情况下该函数执行成功与否决定了当前事务的成功与否,也就是说当该函数执行失败时当前事务的状态也被置成了FAIL。

P.T!PA X |"}#McG0

m*tbMnb'q0参数说明:51Testing软件测试网PD#\3v:n&D)G
ParamName: 存放得到的动态内容的参数名称
5jn"_rv)H0D0list of Attributes: 其它属性,包括:Notfound, LB, RB, RelFrameID, Search, ORD, SaveOffset, Convert, SaveLen属性值不分大小写
6kZu7wb0Notfound: 当在返回信息中找不到要找的内容时应该怎么处理
m `a,H_Z0Notfound=error: 当在返回信息中找不到要找的内容时,发出一个错误讯息这是缺省值,会与当前事务的状态一致51Testing软件测试网 N$^7K,t:jb6{ ]ycw
Notfound=warning: 当在返回信息中找不到要找的内容时,只发出警告,脚本也会继续执行下去不会中断 ,不改变当前事务的状态51Testing软件测试网;vEn0Dz+qu
LB( Left Boundary ) : 返回信息的左边界字串该属性必须有,并且区分大小写51Testing软件测试网 vD6_ Bk l+?5z6H
RB( Right Boundary ): 返回信息的右边界字串该属性必须有,并且区分大小写
#Q t lz"}UP0RelFrameID: 相对于URL而言,欲查找的网页的Frame此属性质可以是All或是数字,该属性可有可无51Testing软件测试网C5B,@i'A0~'Iu/r
Search : 返回信息的查找范围可以是Headers,Body,Noresource,All(缺省)该属性质可有可无
yv8e a n&B0ORD : 说明第几次出现的左边界子串的匹配项才是需要的内容该属性可有可无,缺省值是1如为All,则将所有找到的内容储存起来
G.^,B5uSc0SaveOffset : 当找到匹配项后,从第几个字符开始存储到参数中该属性不能为负数,缺省值为0
;y tRoI;}GHX0SaveLen :当找到匹配项后,偏移量几个字符存储到参数中缺省值是-1,表示一直到结尾的整个字串都存入参数51Testing软件测试网MR1K;O4} R
Convert : 可取的值有以下两种:
;g%ptoI2B0HTML_TO_URL : 将 HTML-encoded 资料转成 URL-encoded 资料格式51Testing软件测试网#s2r N\EiY~qK
HTML_TO_TEXT : 将 HTML-encoded 资料转成纯文字资料格式

X u:GxT%zE2E,Rz051Testing软件测试网R8H3y|5L P8EJ'qv}

如果我们查找的边界在response中不唯一,此时就会出现多个符合条件的值,此时我们可以使用ORD=all这个参数
B zH&_)B4H5C,G0下面介绍一种可以获得所有符合条件的值并将它们保存到文件中,再使用特定某个值的方法

A1fy m#vlDI N051Testing软件测试网Qw1c~ v

Action()51Testing软件测试网M(@4u"f7j#c)K1j
{
O;]U9w b$Y9K5EJO0    char temp_url[128];       51Testing软件测试网Y5|4w"Ff7n|
    char url_string[128];
$v)|*r?7OvJK{I0  int i;
CX_r)a q:L.p0    long file;51Testing软件测试网4L${*c4w9vZ/Syl
    char *filename="c:\\allurl.txt";51Testing软件测试网:eI5_X5vzs-UM

51Testing软件测试网9a {.LpM#P L

 web_reg_save_param("find_url",
M)YW-L6S p0  "LB=<",51Testing软件测试网X'u4IH)_dp&iG/G
  "RB=>",51Testing软件测试网}4l(l1q s k#M6du^
  "NotFound=WARNING",51Testing软件测试网 [/r$U"Lv e3Z'g/kUkt
  "Ord=All",
]zn,{D?|0  LAST);

o6\sW B3p(s0

({+Z'q&U:h5fUI0 web_url("s",51Testing软件测试网J1\T_pBP9|
  "URL=http://www.baidu.com/s?wd=%BB%A7%C8%F0%BA%A3",
lv0K8z7N0  "Resource=0",51Testing软件测试网+j-J5Rx%b3I Z
  "RecContentType=text/html",
7f ?p,] d s0  "Referer=http://www.baidu.com/",
6t1O d3yX%t0  "Snapshot=t8.inf",
Gkek&_u ?0  "Mode=HTML",51Testing软件测试网&c,Vi.Z4^ ^L5C
  EXTRARES,51Testing软件测试网j3R%FqKy
  "URL=http://s.baidu.com/w.gif?q=%BB%A7%C8%F0%BA%A3&fm=se&T=1248239438&y=F2DFC9EF&path=http://www.baidu.com/s?wd=%BB%A7%C8%F0%BA%A3&cid=0&qid=e92903511c13b695&t=1248239438593", "Referer=http://www.baidu.com/s?wd=%BB%A7%C8%F0%BA%A3", ENDITEM,51Testing软件测试网5Ig)^~*Bc
  LAST);

e]3}W,@(r[0

['{~mf0    if ((file = fopen(filename, "a+" )) == NULL) {51Testing软件测试网u o0Uf`o$P)gp
       lr_output_message("不能创建文件%s", filename);
O6lm/T|J.Sza0       return -1;
#f,n5X%L1i6@0C;\0     }51Testing软件测试网0Xg I[o

]j.A:t5X3l"T q0    for(i=1;i<=atoi(lr_eval_string("{find_url_count}"));i++) {51Testing软件测试网R`8k$Il
        sprintf(url_string, "{find_url_%d}", i);
N FH\ P u6LK0        strcpy(temp_url,lr_eval_string(url_string));51Testing软件测试网6pD kX8}D+NPX
       fprintf(file,"%s\n ", temp_url);
~ R r)ld;Ba0     }
o-H/H"E+pya'zz0    fclose(file);
t @"]-e w&ZQ0   
vT+U`8`k!y c0//经过对抓取出的分析,如果我们使用第3个值,那么可以这样写:
r9M1cV6[peq0 lr_output_message("可以使用的值为%s",lr_eval_string("{find_url_3}"));51Testing软件测试网7p+_IQM(Ns
 return 0;51Testing软件测试网:\WA$BX \R$g?
}51Testing软件测试网CO(bs4a)q8w
51Testing软件测试网Z#X_6}/Y/I h)s[3Q


TAG:

引用 删除 duanguanwu   /   2010-08-20 16:15:17
写的很好!
引用 删除 sunliangtan   /   2009-09-22 15:16:29
5
 

评分:0

我来说两句

日历

« 2023-11-01  
   1234
567891011
12131415161718
19202122232425
2627282930  

数据统计

  • 访问量: 203184
  • 日志数: 25
  • 图片数: 4
  • 建立时间: 2008-01-24
  • 更新时间: 2009-07-22

RSS订阅

Open Toolbar