得到以下脚本:
web_set_max_html_param_len("9999999");
通过这个函数可以确保不会出现参数内容过长而无法存放的错误,不过这是以开销系统资源为代价的。
接着来看看web_reg_save_param_ex函数的选项,由于关联出来的内容存放在参数中,所以还是建议打开日志中的Parameter substitution选项,以方便调试跟踪。
打开Add Step添加步骤,选择web_reg_save_param_ex函数,打开关联函数设置窗口,如图A.126所示。
图A.126 web_reg_save_param_ex函数设置窗口
1.Parameter Name
此处设置存放参数的名称,关联出来的内容将会存放在该参数中。这里受到Ordinal选项的影响。
例如:
设置Parameter Name为temp,当对应的Ordinal选项是任意一个数字的时候,只会关联一个匹配的记录,关联值将会存放在temp这个参数中。当Ordinal是All的时候,关联成功后的值将会依次存放在"temp_数字"这样的参数数组中,并且还会添加一个temp_count的参数存放关联出来的记录条数。
2.Left Boundary
此处设置左边界,这里是用来填写关联对于数据处理的左匹配内容规则。在左边界中存放的是一个字符串,例如,填写的内容为"左边界"会被转换成以下形式:
web_reg_save_param_ex(
"ParamName=test",
"LB=左边界",
"RB=",
SEARCH_FILTERS,
LAST);
如果输入的内容里面有双引号,那么需要通过转义符\来进行处理,例如:
web_reg_save_param_ex(
"ParamName=test",
"LB=\"左边界",
"RB=",
SEARCH_FILTERS,
LAST);
3.Match case
默认情况下边界是Match case的,也就是检查大小写的,可以取消下面的选项来忽略大小写检查,会看到函数变为以下形式:
web_reg_save_param_ex(
"ParamName=test",
"LB/IC=左边界",
"RB=",
SEARCH_FILTERS,
LAST);
4.Binary data
如果需要关联的内容是非ASCII字符的,那么需要使用该选项。选中该选项后可以看到函数变为以下形式:
web_reg_save_param_ex(
"ParamName=test",
"LB/BIN=\\x3F\\xDD",
"RB=",
SEARCH_FILTERS,
LAST);
5.Regular expression
在LR11中关联函数提供了使用正则表达式的功能,但是在LR11 Patch3中取消了web_reg_save_param_ex函数对该功能的支持,而该功能由函数web_reg_save_param_regexp实现。
6.Right Boundary
此处设置右边界,这里是用来填写关联时对于数据处理的右匹配内容规则,选项同左边界。
7.DFEs
在录制选项和回放选项中我们提到过DFE的功能,在关联这里也支持DFE的数据处理,我们先回到录制选项中的那个例子中,为其写一个普通关联看看返回(为了让返回结果看得更清楚,这里提前使用了Scope=BODY规则,该规则作用参考后面的Scope属性介绍)。
web_reg_save_param_ex(
"ParamName=test",
"LB=",
"RB=",
SEARCH_FILTERS,
"Scope=BODY",
LAST);
web_url("json.php",
"URL=http://localhost:8000/phpwind85/json.php",
LAST);
该代码运行后我们看到的返回结果是JSON数据:
Action.c(47): Notify: Saving Parameter "test = {"name":"Tom","age":18,"hobby": "basketball"}".
接着我们使用关联的DFE功能,在这里设置关联的DFEs格式为JsonXml(这里的格式是指系统自带的DFE模块的Tag名,参考图A.35),然后还要确保Run-time settings中的DFE功能启用,代码变为:
web_reg_save_param_ex(
"ParamName=jsonresponse",
"LB=",
"RB=",
"DFEs=JsonXml",
"Ordinal=1",
SEARCH_FILTERS,
LAST);
web_url("json.php",
"URL=http://localhost:8000/phpwind85/json.php",
LAST);
代码运行后,查看日志会发现JSON的数据格式变成了XML的数据格式:
Action.c(47): Notify: Saving Parameter "jsonresponse = <HP_EXTENSION name= "JsonXml"><object><pair name="name" type="str">Tom</pair><pair name="age" type= "num">18</pair><pair name="hobby" type="str">basketball</pair></object></HP_
EXTENSION>".
现在是XML的数据格式了,回忆在前面参数中介绍的对XML数据格式的处理函数,你就知道接着可以干什么了。
DFE是可以自行定义的,除了系统自带的5种格式,还能使用自行开发的格式。自定义DFE的代码写法参考安装目录为HP\LoadRunner\samples\DataFormatExtension,使用VS2005中的VC++2005进行开发。编译生成的DLL文件存放在安装目录下HP\LoadRunner\bin中,配置文件存放在安装目录HP\LoadRunner\DfeConfig\extensions中。
版权声明:51Testing软件测试网获作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。