loadrunner获取服务器返回的值,并作为下一个请求的参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了loadrunner获取服务器返回的值,并作为下一个请求的参数相关的知识,希望对你有一定的参考价值。

获取服务器的返回值,可以用web_reg_save_param函数,该参数最好放到:
语法:
int web_reg_save_param(const char *ParamName, <list of Attributes>, LAST);

参数说明:

o ParamName: 存放得到的动态内容的参数名称

o list of Attributes: 其它属性,包括:Notfound, LB, RB, RelFrameID, Search, ORD, SaveOffset, Convert, SaveLen。属性值不分大小写

o Notfound: 当在返回信息中找不到要找的内容时应该怎么处理

o Notfound=error: 当在返回信息中找不到要找的内容时,发出一个错误讯息。这是缺省值。

o Notfound=warning: 当在返回信息中找不到要找的内容时,只发出警告,脚本也会继续执行下去不会中断。

o LB( Left Boundary ) : 返回信息的左边界字串。该属性必须有,并且区分大小写。

o RB( Right Boundary ): 返回信息的右边界字串。该属性必须有,并且区分大小写。

o RelFrameID: 相对于URL而言,欲查找的网页的Frame。此属性质可以是All或是数字,该属性可有可无。

o Search : 返回信息的查找范围。可以是Headers,Body,Noresource,All(缺省)。该属性质可有可无。

o ORD : 说明第几次出现的左边界子串的匹配项才是需要的内容。该属性可有可无,缺省值是1。如为All,则将所有找到的内容储存起来。

o SaveOffset : 当找到匹配项后,从第几个字元开始存储到参数中。该属性不能为负数,缺省值为0。

o SaveLen :当找到匹配项后,偏移量之后的几个字元存储到参数中。缺省值是-1,表示一直到结尾的整个字串都存入参数。
参考技术A 首先你脚本里有websubmit是http协议发http请求的。。。还没到socket层呢,socker录下来是lr_send函数,websaveparm也是获取http请求响应的。应该跟socket没关系。
然后如果想获取整个响应的body部分就LB,RB写空,search写body就可以,用不着勾后面的以通配符替换(就是/IC/ALNUMIC)。
再然后这个函数本来就是用来在http响应的响应头体中获取所需要内容的,你说的看到的日志中响应里没有参数是指什么参数?请求里的post参数么,websaveparm获取响应跟参数没关系本回答被提问者采纳

loadrunner-获取返回值和自定义参数(参数运算)

实例:手机端操作,A新增了一条事件(返回结果:事件id,例如:1),

A这时需要获取新增产生的事件id,并作为参数进行传递,才能将这条事件上报给B(返回结果:事件id不变,步骤id等于事件id1),B需要获取上报返回的事件id和步骤id才能办理这条事件。

 

 

一方法,如果两个返回的id都在loadrunner返回结果中显示(view-Test Results或者Tree视图中可以查看):

 

这时可以使用web_reg_save_param函数通过左右边界值的方式,定位到所需要的id,然后直接赋值给一个变量,然后下一步直接调用这个变量

例如: web_reg_save_param("sid",

"LB=aaa\":",

"RB=bbb",

LAST);

上述例子意思为将左边界aaa”:和右边界bbb中间的值赋值给变量sid。注意:左右边界有双引号时要转义,转义符:\

 

Loadrunner中不能直接调用sid,要加上大括号,例如:{sid}

 

二方法,如果两个返回id中步骤id不在loadrunner返回结果中显示:

   这时我们可以通过手机抓包工具来辅助我们测试,找出两个id的关系。

   如题所说:步骤id=事件id+1

 

这时可以通过一方法找出事件id赋值为sid,然后通过 lr_output_message函数打印出来:

例如: lr_output_message ( "id: %s", lr_eval_string ( "{sid}" ) );

然后通过atoi函数来使sid1

例如:atoi(lr_eval_string("{sid}"))+1;

最后再直接将atoi(lr_eval_string("{sid}"))+1的值赋值给一个变量就行了

定义变量时要注意:所有的声明都要放在脚本的前面

 

 

知识点1atoi函数:字符串转整形

2、获取返回值时遇见双引号要转义

3、web_reg_save_param函数获取的返回值都是字符串,如果要进行算术运算,就需要现将获取的值进行类型转换

 

以上是关于loadrunner获取服务器返回的值,并作为下一个请求的参数的主要内容,如果未能解决你的问题,请参考以下文章

使用LoadRunner发送json格式登陆参数后怎样获取登陆验证的token

LoadRunner录制登录机票网址,并回放,加断言

LoadRunner登录脚本-简单易上手

loadrunner11.0之IP欺骗

loadrunner 参数化后回放时怎么查看其值,新手,求指教

LoadRunner安装LoadRunner