在做loadrunner性能脚本开发时,常常碰见一个需求:符合web_reg_save_param函数中定义的左右边界值的值有多个,而我们的常规写法默认返回的是符合条件的第一个,而有时我们却需要使用后面的值,下面来进行介绍,如何获取多个,并且如何使用这些获取到的值。
首先介绍一般我们经常使用的写法:
web_reg_save_param("paramName", "LB=左边界", "RB=右边界", LAST);
这种写法保存到paramName中的值为返回符合条件的第一个值。
那么如果我们要获取到所有符合条件的值,就应该在条件中加入ORD=ALL这样的一个请求参数。写法如下:
web_reg_save_param("paramName", "LB=左边界", "RB=右边界", "ORD=ALL",//来指定获取所有符合条件的值。 "Savelen=50",//这个参数用来限制获取字符的长度。这个部分可以不加。
//如果加了,那么就不进行捕捉检查了,所以会导致长度写少了就会进行截取,有可能导致数据丢失。 LAST);
如果我们有4个符合条件的值,那么程序运行后,在log中打印出来的结果是:
Notify: Saving Parameter "paramName_1 = aaa" Notify: Saving Parameter "paramName_2 = bbb" Notify: Saving Parameter "paramName_3 = ccc" Notify: Saving Parameter "paramName_4 = ddd" Notify: Saving Parameter "paramName_count = 4"
那么我们如果拿到这些值并且使用它们呢,其实很简单,具体实现如下:
由于我们已经知道了参数的名称,那么可以先简单打印一下验证是否正确:
lr_output_message("%s",lr_eval_string("{paramName_2}"));
接下来,我们可以进行循环取出所有:
int mark=1;//数组角标标记。
char markVar[10];//拼接数组变量key值
char markValue[10];//存储数据变量key //关联函数
web_reg_save_param("paramName", "LB=左边界", "RB=右边界", "ORD=ALL",//来指定获取所有符合条件的值。 LAST); //这里是你的请求函数
web_submit_data //循环取出所有值
for(;mark<=atoi(lr_eval_string("{paramName_count}"));mark++){ sprintf(markVar, "{paramName_%d}",mark);
//将mark变量拼接到markVar中, sprintf(markValue, "Value=%s", lr_eval_string(markVar));
//取出markVar中的值,存储到markValue中,计算后markValue的值就是被关联后要取出来的值
//值已经取到,你想要做啥,在这里就可以随便做啦!!这里打印一下!
lr_message("%s", markValue); }
值已经在markValue中了,怎么玩就随你啦!!!
loadrunner必用函数web_reg_save_param获取多个符合边界值条件的使用方法的更多相关文章
-
Python字符串必记函数
Python字符串函数数不胜数,想要记完所有几乎不可能,下列几个是极为重要的一些函数,属于必记函数. 一.join 功能: 将字符串.元组.列表中的元素以指定的字符(分隔符)连接生成一个新的字符串 语 ...
-
LoadRunner中常用函数参考手册
基础篇1:LoadRunner中常用函数参考手册 常用函数列表 web_url web_submmit_form VS web_submmit_data VS web_custom_request w ...
-
怎样用jQuery自带方法/函数来获取outerHTML属性
原文地址:http://jingyan.baidu.com/article/7f41ececf93b48593d095c25.html 包括我自己在内(其实我也就这两天才知道这样可以快速获取的),很多 ...
-
WMI 获取硬件信息的封装函数与获取联想台式机的出厂编号方法
原文:WMI 获取硬件信息的封装函数与获取联想台式机的出厂编号方法 今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都是可以提取出来的,就自己把那些公共部分提出出来,以后如果要获取 某部分的 ...
-
Thinkphp3.2.3框架下封装公共的函数,例如封装CURL函数来获取接口数据
当我们需要在控制层调用相同的封装函数时,写多次相同的函数,显得代码十分的拉杂,不精简: TP框架有一个很好的机制,可以再Common定义一个function.php函数,当我们在控制层调用的时候直接调 ...
-
saltstack在jianja模板中,执行salt函数来获取某些变量的值,并且将配置写入到配置文件中?
问题描述: 通过saltstack的jinja模板方式,可以将变量的值写入到配置文件,即动态获取的方式.这里介绍,通过执行salt函数来获取值的方式. 演示: 1.通过在sls中,增加jinja的模板 ...
-
python之enumerate函数:获取列表中每个元素的索引和值
源码举例: def enumerate_fn(): ''' enumerate函数:获取每个元素的索引和值 :return:打印每个元素的索引和值 ''' list = ['] for index, ...
-
IT小鲜肉 Widgets Tree 单选、多选、相关回调函数、获取选中的节点功能
写一个树控件并没有想象中的那么容易,今天又花了我一个1个多小时,主要为IT小鲜肉 Widgets Tree控件添加了 单选.多选.选择前和选择后两个回调函数.获取选中节点的功能.后面会继续努力完善这个 ...
-
LoadRunner调用java函数测试oracle
LoadRunner调用java函数测试oracle 测试oracle的方法有很多,可以使用loadrunner的oracle协议直接调用oracle进行测试,也可以调用开发的java程序对oracl ...
随机推荐
-
swift_Class类的继承
//: Playground - noun: a place where people can play var str = "Hello, playground" //***** ...
-
CoreBluetooth——IOS蓝牙4.0使用心得
原文链接:http://m.blog.csdn.net/article/details?plg_nld=1&id=51014318&plg_auth=1&plg_uin=1&a ...
-
表单验证Jquery扩展方法类
/** 表单数据验证 **/ $.fn.Validform = function () { var Validatemsg = ""; var Validateflag = tru ...
-
Nginx (基于linux)综合
重启Nginx服务:centos:测试NGINX配置文件是否有效:/usr/local/nginx/sbin/nginx -t 平滑重启:/usr/local/nginx/sbin/nginx -s ...
-
iOS开发——网络编程OC篇&;GCDAsyncSocket编程
GCDAsyncSocket编程 同上一篇文章一样,这里也是使用Socket实现一个聊天室,但是这里使用的是一个常用的框架实现的:GCDAsyncSocket 一:导入这个框架 二:声明这个Socke ...
-
ADS1.2安装
一.ADS1.2的安装 1. 解压 2. 双击打开ads1.2 3.我们选择当中的SETUP.EXE文件,进行安装 4.点击Next: 5.这是许可文件,假设允许的话选择Yes: 6.选择安装文件夹, ...
-
markdown 自己搞一个浏览工具
注意!`下不能有空行 `上也不能有空行 问题未解决 <!DOCTYPE html> <html lang="en"> <head> <me ...
-
nginx proxy_pass 与 rewrite 简记
rewrite syntax: rewrite regex replacement [flag] Default: - Context: server, location, if 如果正则表达式(re ...
-
Git ignore文件的用法
这周为了往自己个人代码仓库里囤货,把在公司写的一些东西上传到了自己的GitHub代码仓库,手抖把测试用的日志也一并上传了.上传没多长时间就被运维找上门了,说commit里包含内网相关信息,要求删除.当 ...
-
如何增加Ubuntu交换空间swap
如何增加Ubuntu交换空间swap 1 使用命令查看系统内swap分区大小 green@green:~$ free -m total used free shared buff/cache ava ...