关注于测试自动化和测试管理,我是一个永远的测试新手。

Loadrunner函数:web_reg_save_param

上一篇 / 下一篇  2007-06-08 14:32:41

int web_reg_save_param (const char *ParamName, <List of Attributes>, LAST);
成功返回:LR_PASS(0),失败LR_FAIL(1)
 
中文解释:web_reg_save_param是一个注册类型的函数。它注册一个请求,以在检索到的网页中查找并保存一个文本字符串。只有在执行了下一个操作函数(如web_url)后才会执行该操作。

-w4V0u N.x wl^V:fB0const char *ParamName(参数要保存的变量名):
;cKR4ps0变量无需先声明即可使用。

}m.e0d)B @:@0List of Attributes(属性列表):
 
1、NOTFOUND(可省略,默认为error)
NOTFOUND="error"51Testing软件测试网S6O+kv[$g_3u*h({
解释:是默认值,如果notfound不出现在属性列表里,那么默认为error;设置为error后,如果web_reg_save_param函数没有找到边界(LB或者RB),那么则返回loadrunner一个error
 
NotFound="warning"(早期的lr版本里是NotFound="empty")
;\ ARAa,[m(b0解释:设置了为warning后,如果web_reg_save_param函数找到了边界,但是没有找到边界,不会报告error,会继续运行脚本
 
 
2、LB和RB(必须)
R8Z ? S&?jrs1F0LB/RB赋值的是你要抓取文本的左/右边的内容,例如你要从"abcdefghijk"中抓取"de"保存在变量中,那么LB="abc"和RB="fghijk"就可以抓到你要的东西了
 
 
3、ORD(可省略,默认为1)51Testing软件测试网E\~P9a h
ORD="ALL"51Testing软件测试网V$m5|\'_x
解释:设置了为all后,参数值会保存在一个数组里
还有其他的一些属性,就暂时先不介绍了。。。
 
 
 
示例1:手动关联51Testing软件测试网K8D"{y!Y:|TK
请参照:http://zhidao.baidu.com/question/19338536.html

%@ g |:S2Zb-OQ1?_0示例2:手动文本检查点
,Q];OA!i1\a0示例说明:51Testing软件测试网0q OS!hmC9@;L0f~p`-t
有的时候,使用lr的检查点(web_find和web_reg_find)并不能满足我们的检查要求,例如我输入一个网址,网址中包含若干参数(ID、password),网址提交后IE返回登录结果
(A\X\Z\D),这个例子web_find和web_reg_find都有局限性,用着不是很方便,所以我使用web_reg_save_param。
/*********************************
$| kE;N,tZ-D:|'R0  * Author:qiguojie
;pW$U6z6T[ g Xs0  * object:software login
@9r~ ?"HQ"m*l?0  * date:2007-5-2851Testing软件测试网r(E"L!_G/eF/Xx
***********************************/
Action()51Testing软件测试网jKld*T&|Q tE
{51Testing软件测试网.x*n4pa,fAP/f^{
//变量定义区51Testing软件测试网1_6kv!rX#[[E1yq x
 typedef long time_t;       //定义一个时间变量
7m@DEW*O0  char *filename = "c:\\work\\log\\log_1.log";      //定义一个文件指针,指向log输入的地址
VP`!\h.Y0 long file_stream;        //定义一个长整型变量51Testing软件测试网4Q*i3`m&O
     time_t t;        //定义一个时间变量
 if ((file_stream = fopen(filename,"a+")) == NULL)   //打开文件
pZ%VN/NF*T v0 {51Testing软件测试网O6r#C&n~)[!X
   lr_error_message("Cannot open %s", filename);
7l3S1gt sT0        return -1;
k$kAa8h:H0 }
 web_reg_save_param("IsRight","LB=Cache-control: private\r\n\r\n","RB=|",LAST);  //保存返回值
 time(&t);        //获取当前时间
 web_url("abclogin.asp",
!F3B/WO;u z0  "URL=http://192.168.1.9/soft/abclogin.asp?U={user}&P={password}&L=0&H=3HS28QKH",
|,i1zXK(d@0  "Resource=0",51Testing软件测试网,m JH-R~q a HD
  "RecContentType=text/html",
vePNTr!N!w{0  "Referer=",51Testing软件测试网*R(N3T5N#Jh,GA@
  "Snapshot=t1.inf",51Testing软件测试网V+Nwg-q
  "Mode=HTML",51Testing软件测试网?PTiH7} N
  LAST);51Testing软件测试网;XiAF t4af5h
 fprintf(file_stream,"%s,随机数是%d,",ctime(&t),n);
    fprintf(file_stream,"用户是:%s,密码是:%s,",lr_eval_string("{user}"),lr_eval_string("{password}"));
 //判断返回值,输入对应日志51Testing软件测试网#v*B2gu#`\
 if (strcmp(lr_eval_string ("{IsRight}"),"A") == 0)//如果返回值是A51Testing软件测试网m^ a!E;z1U f C5h
 {51Testing软件测试网:b6m*g%hKy@
  fprintf(file_stream,"success:用户登录成功,返回值是:%s\n",lr_eval_string("{IsRight}"));
wH(a!KC oE0 }51Testing软件测试网j1g8D b(@(C
 else if (strcmp(lr_eval_string ("{IsRight}"),"X") == 0) //如果返回值是X51Testing软件测试网.H0dJpP.g0M\i R
 {51Testing软件测试网7c5g+er jr[ bN
  fprintf(file_stream,"failed:用户登录失败,返回值是:%s\n",lr_eval_string("{IsRight}"));
 }
7PXF?/q8e#A!A0 else if (strcmp(lr_eval_string ("{IsRight}"),"Z") == 0)//如果返回值是Z
._8kG%cwR^C0 {51Testing软件测试网6aj1a\.q$v0E@]f(~
  fprintf(file_stream,"success_others:登录特殊页成功,返回值是:%s\n",lr_eval_string("{IsRight}"));51Testing软件测试网3f1s }y'tB z ?#mh!Q9w
 }51Testing软件测试网Q L&K%\{y bS
 else //如果返回值是D51Testing软件测试网LW R'ky5V
 {51Testing软件测试网(g}/@;Ka/Vb|
  fprintf(file_stream,"success_free:登录免费用户成功,返回值是:%s\n",lr_eval_string("{IsRight}"));
P6w2BiQXP4o0 }
 fclose(file_stream);  
+n(JS@v#@H P0 return 0;51Testing软件测试网7mb*X [5M.O^f3v
}
 
 
 
函数的一些使用技巧:
eT&|d@/Q01、web_reg_save_param必须在获取返回值的操作前面注册,在获取返回值的操作后面使用51Testing软件测试网*?)W\nA#_@o
2、保存参数最大不能超过256字节,如果超过256字节请使用int web_set_max_html_param_len (const char *length )函数扩大参数保存范围
q |{g#|;N"Z0例如:web_set_max_html_param_len ("1024"); //扩大参数最大保存范围为1024字节51Testing软件测试网#_([$K9V }xr8i0P
3、LB和RB后面跟着"/ic",则边界大小写都匹配(不加,也就是默认是大小写敏感的)
2CuQ)b0~'t.o7dj?&H0例如:web_reg_save_param("IsRight","LB/ic=cache-control: private\r\n\r\n","RB/ic=|",LAST);
51Testing软件测试网2g YD b5Dop

 51Testing软件测试网$w+L5D4Kq2M(U'vS


相关阅读:

TAG: LoadRunner 函数 web_reg_save_param

 

评分:0

我来说两句

qiguojie

qiguojie

北京测试一草根儿

日历

« 2023-10-13  
1234567
891011121314
15161718192021
22232425262728
293031    

数据统计

  • 访问量: 119754
  • 日志数: 39
  • 图片数: 1
  • 建立时间: 2007-06-05
  • 更新时间: 2011-06-29

RSS订阅

Open Toolbar