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

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

A这时需要获取新增产生的事件id,并作为参数进行传递,才能将这条事件上报给B(返回结果:事件id不变,步骤id等于事件id加1),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函数来使sid加1

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

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

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

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

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

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

原文地址:https://www.cnblogs.com/chenwenaa/p/8325194.html

时间: 2024-11-10 18:03:01

loadrunner-获取返回值和自定义参数(参数运算)的相关文章

loadrunner获取返回值为乱码

找了很多方法,utf-8也设置了,还是不行,只有有转码方法了 web_reg_save_param("res2", "LB=\"msg\":\"", "RB=\"", "Search=Body", LAST); lr_start_transaction("Web_注册_register_bean"); web_custom_request("web_cust

工作随笔——Java调用Groovy类的方法、传递参数和获取返回值

接触Groovy也快一年了,一直在尝试怎么将Groovy引用到日常工作中来.最近在做一个功能的时候,花了点时间重新看了下Java怎么调用Groovy的方法.传递参数和获取返回值. 示例Groovy代码如下: # TestGroovy.groovy 定义testC方法,传入3个参数,返回处理后的数据 def testC(int numA, int numB, int numC) { "传入参数:" + numA + numB + numC + "计算之和为:" + (

获取存储过程返回值及代码中获取返回值

获取存储过程返回值及代码中获取返回值 1.OUPUT参数返回值例: 向Order表插入一条记录,返回其标识 CREATE PROCEDURE [dbo].[nb_order_insert](@o_buyerid int ,@o_id bigint OUTPUT)ASBEGINSET NOCOUNT ON;BEGININSERT INTO [Order](o_buyerid )VALUES (@o_buyerid )SET @o_id = @@IDENTITYENDEND 存储过程中获得方法: D

java多线程之从任务中获取返回值

package wzh.test; import java.util.ArrayList; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; class TaskWithResult implements Callable<Strin

动态Tsql 获取返回值

使用Execute 和 sp_executesql实现动态Tsql,如何获取动态tsql的返回值? 第一部分:execute 1,Execute是个函数,能够执行sql语句,示例语句如下 declare @sql nvarchar(max) declare @return_cnt int if object_id('tempdb..#tempcnt') is not null drop table #tempcnt create table #tempcnt(cnt int) set @sql=

expect获取返回值

对于获取多台服务器状态且不用交互需要用到expect,但有时候expect无法获取返回值,这里解释一下expect如何获取返回值 expect -c " spawn $1; expect { \"(yes/no)?\" {send \"yes\n\";expect \"assword:\";send \"$2\n\"} \"assword:\" {send $2\n} eof } expect e

【黑马Android】(07)多线程下载的原理/开源项目xutils/显示意图/隐式意图/人品计算器/开启activity获取返回值

多线程下载的原理 司马光砸缸,多开几个小水管,抢救小朋友. import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.io.RandomAccessFile; import java.net.HttpURLConnection; import

打开模态窗体,并获取返回值

1 //编辑 2             function btnEdit(keyid,sysName,mark) { 3                 //  打开模态窗体,并获取返回值 4                 var returnValue = window.showModalDialog('FileChange_SystemEdit.aspx?sysName=' + sysName + '&keyid=' + keyid + '&mark=' + mark, '', '

python执行系统命令后获取返回值

import os, subprocess # os.system('dir') #执行系统命令,没有获取返回值,windows下中文乱码 # result = os.popen('dir') #执行系统命令,返回值为result# res = result.read()# for line in res.splitlines():# print(line ) #用subprocess库获取返回值.# p = subprocess.Popen('dir', shell=True, stdout=