在LoadRunner中用web_reg_save_param()做关联
LoadRunner中有两种关联方式,一种是手动关联,一种是自动关联。一般情况下我都是如下做关联的。
1、 录制并调整好脚本以后直接回放脚本,用LoadRunner的Find Correlations查找需要关联的地方,根据情况点Correlation或Correlation All,进行关联即可。这种方式有时候不能全部找到需要关联的地方,所以还需要手动关联的支持。
2、 手动关联也可以用两种方法进行:
(1)一种方法是录制两份相同的脚本,用LoadRunner自带的Diff工具查找需要关联的地方,然后手动进行关联;
Tools --->Compare with Vuser,选择脚本进行比较,查找需要关联的地方,然后再手动关联。
(2)另一种方法是基于你对程序比较熟悉的情况下进行的,可根据查看录制的scrīpt脚本,结合源代码来进行查找,找到后用web_reg_save_param()函数做关联即可。我一般采用这种方法。不太确定的就找开发人员询问,比用diff工具要方便的多,(*^__^*)嘻嘻……
3、结合实例分析如何用用web_reg_save_param()做关联
最近在测试一个邮件系统,邮件系统中有一个FolderId是一个隐含变量,<input type=”hidden”name=”folderId”value=”PNKpUfAKVrgn”/>这个Value值会在程序中被带入不同的页面,并且该值是根据登录用户的变化而变化的,所以这个Value值就需要关联。此时可以这样进行:
(1) 进入Tree View模式,在Server Response处选择该值,右键选择Create Parameter,弹出一个是否确认替代的对话框,选择【是】即可完成。
(2) 或者在scrīpt View模式下,自己手动写,不过因为web_reg_save_param()函数是一个注册型函数,所以需要写在需要关联的语句前面。
4、 关于web_reg_save_param()函数
函数原型:intweb_reg_save_param (const char *ParamName, <List of Attributes>, LAST);举例: web_reg_save_param("folderIdValue",
"LB=value=¥"", "RB=¥"", "Search=Body",
LAST);
LB:左边界
RB:右边界
Search:搜索范围:All、Header、Body
关联应用:
web_submit_data("login.pl_2",
"Action=http:// {webUrl}/mercuryWebTours/login.pl",
"Method=POST",
"TargetFrame=",
"RecContentType=text/html", "Referer=http://{webUrl}/mercuryWebTours/nav.pl?folderId={folderIdValue }",
LAST);
这样在运行的时候就可以根据不同用户改变folderId了。