loadrunner Web_类函数之web_reg_save_param_ex()

Loadrunner中web_reg_save_param_ex()函数的使用 目录一、录制脚本二、打开snapshot窗口三、查看页面响应数据​编辑四、在页面空白处右击打开添加函数页面,选择我们需要的函数五、在函数设置界面输入需要提取数据的左右值,并填写一个参数名称value六、点击“OK”后,函数在页面中生成,这里注意把函数位置放在接收到响应数据的链接之前,才能正常接收到数据七、打开日志中查看函数的选项,可在回放日志中查看函数获取值的情况 阅读详情
AI摘要

本文介绍web_reg_save_param_ex函数的使用方法及其参数详解,该函数用于在服务器响应中查找并保存动态数据。文章解释了左边界(LB)和右边界(RB)的概念,介绍了如何使用边界限定符,并提供了示例代码。

web_reg_save_param_ex()--常用函数

该函数注册将位于指定边界之间的动态数据保存到参数的请求。

intweb_reg_save_param_ex(“ParamName = <output parameter name>”,[LB [/ IC][BIN] = <value>,] [RB [/ IC] [BIN] = <value>,] <属性列表>搜索过滤器>,LAST);

 

 参数说明:

ParamName:要创建的参数的名称。

LB:动态数据的左边界。参见左边界。

RB:动态数据的右边界请参见右边界。

List ofAttributes::有关每个属性的详细信息,请参阅保存参数注册函数的属性。

属性值字符串(例如,“NotFound =warning”)不区分大小写。

请参阅限制。

SEARCH FILTERS:搜索过滤器,指定缓冲区中搜索数据的部分。请参见“保存参数注册函数的搜索过滤器”

LAST:指示参数列表结束的标记。

 

web_reg_save_param_ex函数是用于在服务器响应中查找动态数据的服务函数。一般来说,找到的数据用于coorelation。

 

Left Boundary

如果不指定LB值,或者将该值设置为空字符串,则web_reg_save_param_ex使用数据的开头作为边界。保存从开始到右边界的所有字符。有关指定边界的更多详细信息,请参阅“边界参数”部分。

LB参数可以采用边界限定符。

 

Right Boundary

参数或动态数据的右边界。如果不指定RB值,或者将该值设置为空字符串,web_reg_save_param_ex将保存从左边界到数据结尾的所有字符。有关指定边界的更多详细信息,请参阅“边界参数”部分。

 

RB参数可以使用边界限定符。

 

BoundaryQualifiers

web_reg_save_param_ex的LB和LR参数可以采用以下限定符:

/ IC - 不区分大小写。即使边界值的情况与缓冲区中的字符串中的情况不同,边界也匹配。

/ BIN - 值是转义的二进制代码。请参阅输入二进制代码。

 

在版本11.00中,支持/ RE限定符。此支持已停止,因为更完整的正则表达式功能现在由web_reg_save_param_regexp提供。

 

Restrictions(限制)

如果指定了DFES参数并且未指定Scope参数,那么搜索范围是Body(而不是默认值)。

如果同时指定了DFES和Scope参数,并且Scope设置为ALL,则忽略DFES参数。

如果指定了HeaderNames参数并且Scope不是Headers,则会忽略HeaderNames参数。

如果指定了RelFrameID = ALL参数,则Ordinal参数必须为ommited或设置为ALL。

web_reg_save_param_ex等待完成整个下载。不要在之前的web_reg_cross_step_download呼叫中指定的网址上使用它。

有关DFES参数的更多信息,请参阅保存参数注册函数的属性。

有关HeaderNames和Scope参数的更多信息,请参阅保存参数注册函数的搜索过滤器

有关RelFrameID参数的更多信息,请参阅保存参数注册函数和RelFrameID属性的搜索过滤器。

 

一般信息:

web_reg_save_param_ex是注册类型函数。它注册在服务器响应中查找和动态数据的请求。要保存的数据在指定的左边界和右边界之间。仅在执行下一个操作函数(如web_url)之后才执行操作。

找到的动态数据保存到参数。在使用动态数据的随后函数调用中,在大括号(例如,“{param1}”)中引入参数名称。

由web_reg_save_param_ex注册的请求查找指定边界之间的数据(但不包括),并保存从左边界之后的字节开始并在右边界之前的字节结束的信息。

如果希望字符串周围有前导和尾随空格,并且您不想在参数中使用它们,请在左边界的末尾和右边界的开始处添加一个空格。例如,如果网页包含字符串“您想在哪里和什么时间旅行?”,则呼叫:

web_reg_save_param_ex(“When_Txt”,“LB = Whereand”,“RB = do”

        LAST);

 

在“和”之后有一个空格,并且在“do”之前,将导致“when”作为When_Txt的值。然而,

web_reg_save_param_ex(“When_Txt”,“LB = Whereand”,“RB = do”

        LAST);

 

没有空格,将导致值“when”。

不支持嵌入边界字符。web_reg_save_param_ex对最近的左边界之后的下一个事件进行简单搜索。例如,如果您已将左边界定义为字符“{`和右边界作为字符”}“,那么将保存以下缓冲区c:

          {a{b {c}

已定位左边界和右边界。因为不支持嵌入边界,所以`}'匹配最近的`{`出现在c之前。 ORD属性为1.只有一个匹配实例。

web_reg_save_param_ex函数还支持数组类型参数。当指定Ordinal = All时,匹配的所有出现都保存在数组中。数组的每个元素由ParamName_index表示。

请参见参数数组示例。

在以下示例中,参数名称为A:

web_reg_save_param_ex(“A”,“LB / ic =<a href=", "RB=\'>”,“Ordinal = All”,LAST);

第一个匹配保存为A_1,第二个匹配保存为A_2,依此类推。您可以使用以下术语检索匹配的总数:ParamName_count。例如,要检索保存到参数数组的匹配总数,请使用:

TotalNumberOfMatches= atoi(lr_eval_string(“{A_count}”));

 

下表指示如何使用边界参数来保存参数字符串的部分:

 

保存到参数的字符串部分

LB

RB

The entire string

empty

empty

From the last LB to the RB

boundary

boundary

From the beginning of a string until the first right boundary

empty

boundary

From the last left boundary until the end

boundary

empty

 

如果任一边界是empy,则不要指定Ordinal属性。

web_reg_save_param_ex替换已弃用的web_reg_save_param。web_reg_save_param具有用于从HTML格式更改为URL或文本格式的CONVERT属性。此属性不适用于web_reg_save_param_ex。如果需要该功能,请在由web_reg_save_param_ex保存参数后使用web_convert_param设置参数的格式。

web_reg_save_param_ex不会被记录。 您可以将其手动添加到脚本。

所有Web脚本都支持web_reg_save_param_ex。

 

示例:web_reg_save_param_ex

此示例显示使用web_reg_save_param_ex保存响应正文中LL和RR之间的所有字符串。

Action()

{

char arrayParamName[50];

int elemCnt;

int x;

lr_save_string( "HTTP%2F1%2E1%20301%20Moved%20Permanently%0A%0D"

"Content%2DType%3A%20text%2Fhtml%0A%0D"

"Date%3A%20Sun%2C%2014%20Feb%202010%2011%3A15%3A34%20GMT%0A%0D"

"%0A%0D"

"aaLLb%20bLLc%20%2E%2ecRRddRReeRRffLLggsadfsdfsdfRRhhRRiiLLj%20%2d%2DjRRkkLLmmLLnnRRoooRRpppLLqqq%0A%0D",

    "inParam" );

web_reg_save_param_ex(

    "ParamName=newParam",

    "LB/IC=ll",

    "RB/IC=RR",

    "Ordinal=all",

    "SaveLen=-1",

    "DFEs=UrlEncoding",

    SEARCH_FILTERS,

        "Scope=body",

LAST);

web_submit_data("echo.asp_2",

    "Action=http://localhost/cgi-bin/echo.asp",

    "Method=POST",

    "TargetFrame=",

    "RecContentType=text/html",

    "Referer=http://localhost/cgi_examples/echo_asp.html",

    "Snapshot=t4.inf",

    "Mode=HTML",

    ITEMDATA,

        "Name=code","Value={inParam}", ENDITEM,

    LAST);

/*     Getting individual elements from a parameterarray.

    Since the parameter created by web_reg_save_param_ex

    is called "newParam", the number ofelements

    is saved in parameter "newParam_count".

    The array elements are parameters"newParam_1",

    "newParam_2", ... "newParam_n".

*/

elemCnt = atoi(lr_eval_string("{newParam_count}"));

lr_output_message("Number of items found = %d",elemCnt);

for (x=1;x<=elemCnt;x++) {

    sprintf(arrayParamName, "{newParam_%d}",x);

    lr_output_message ("%s: %s",
        arrayParamName,
        lr_eval_string(arrayParamName));

}

    return 0;

}

Action.c(41): Number of items found = 4

Action.c(45): {newParam_1}: c ..c

Action.c(45): {newParam_2}: ggsadfsdfsdf

Action.c(45): {newParam_3}: j --j

Action.c(45): {newParam_4}: nn

 

loadrunner回放时报Error -26377(web_reg_save_param) 搞了大半天,终于能正常通过web_reg_save_param获取到自己想要的返回值了。 网上说了好多办法,但是对我都没用,我的办法是先用web_reg_save_param函数获取所有响应body体内容,然后根据返回的结果设置LB、RB值。 获取整个响应body体方法。 web_reg_save_param("ResponseBody", "LB=", "RB=", "Search= 阅读详情

相关推荐

涨薪技术|0到1学会性能测试第22课-关联函数web_reg_save_param_ex

如果需要查找的内容是非ASCII格式,二进制或十六进制格式的内容,这样如果还按常用的左边界和右边界的方式来查找时,就无法找到需要的内容,此时就需要选中Binary data选项,通过二进制的方式来匹配待查找的内容。一般使用“\\x”来标识,如\\x37。Ordinal表示所匹配的内容出现的位置,缺省值为1(指查找待匹配内容,第一次出现的情况),如果将该项值设置为All,是指在缓存中查找所能符合左右边界的内容,并将查找到的结果保存在一个数据中,如果将其设置为1时,那么查找到的结果将保存在一个变量中。

m0_60889254的博客 1202

web_reg_save_param_ex

Save Offset 设置关联的内容偏移量,从第几位开始进行关联操作。回到最开始的例子,我们抓取的是You have successfully installed XAMPP on this system!,如果需要获得successfully installed XAMPP on this system!这个字符串,则不用改变左边界,只需要设置Save Offset为9即可,代码为: web_...

Qiu先生的博客 1973

loadrunner Error -27257: Pending web_reg_save_param/reg_find/create_html_param[_ex]

场景:loadrunner测试3000个账号中的有效账号,通过返回数据解析code状态码来判断是否登陆成功 Action() { char resCode[20]=""; lr_start_transaction("提交"); web_reg_save_param("resCode","LB=\"resCode\":\"","RB=\"",LAST); web_submi

努力学习,认真工作 8750

LoadRunner函数详解之web_reg_save_param_ex

定义:将请求的动态数据信息保存到一个参数 函数形式:web_reg_save_param_ex( const char *ParamName, [const char *LB, ][const char *RB,] , ,LAST ); 示例1:基本运用示例int iRetVal = LR_PASS; lr_save_string( "HTTP%2F1%2E1%20301%20Moved%20

心在天涯----测试之路 1万+

在LoadRunner中用web_reg_save_param()做关联

这是我在使用LoadRunner过程中总结的,上传上来供需要的人使用,希望能对你有所帮助,(*^__^*) 嘻嘻…… 坚决支持资源共享

Loadrunner中web_reg_save_param的使用详解

应用范围  在使用Loadrunner进行性能测试时,经常遇到一种情况,需要通过web页面修改某事务的状态。于是需要首先读出当前的事务的状态,再进行修改,此时便可以使用到web_reg_save_param了。可以通过它先将事务的状态读出写入一个自定义的变量中,根据变量的值来决定下一步的动作。 简要说明  语法:intweb_reg_save_param(constchar*ParamName,<listofAttributes>,LAST); 参数说明:ParamName:存放得到的动态内容的参数名称listofAttributes:其它属性,包括:Notfound,LB,RB,RelFra

LoadRunner性能测试系统学习教程:脚本编写之关联函数介绍(7)

上期讲到LoadRunner性能测试脚本编写之关联技术,这期我们一起来学习脚本编写之关联函数介绍。 PART1 关联函数介绍 LoadRunner最新版本中 使用的关联函数为 web_reg_save_param_ex 以前的版本使用的关联函数为 web_reg_save_param 但这两个函数实质差别不大,本文主要介绍关联函数web_reg_save_param_ex 当然在新的版本中关联函数web_reg_save_param还是可用的。 在测试过程中可以通过插入步骤的方式来插入关联函数,在树模式下选

1049

别只刷题了!我用834分经验告诉你,华为HCIP大数据考试(H13-723)这样准备更高效

本文分享了华为HCIP大数据认证(H13-723)834分通关的高效备考经验。通过分析考试动态、题库验证技巧和章节优先级策略,帮助考生超越单纯刷题,系统化掌握核心知识点。特别强调实时流处理和离线批处理等重点章节,提供黄金90分钟临场发挥策略,助力考生一次性通过考试。

weixin_38168786的博客 459

Loadrunner关联函数web_reg_save_param和web_reg_save_param_ex的区别

这两个web_reg_save_param和web_reg_save_param_ex的区别就是后者在左右边界中可以使用正则表达式/RE。web_reg_save_param_ex的LB和LR参数可以采用以下限定符:/ IC - 不区分大小写。即使边界值的情况与缓冲区中的字符串中的情况不同,边界也匹配。/ BIN - 值是转义的二进制代码。请参阅输入二进制代码。在版本11.00中,支持/ RE限定...

猎摘互联网软件测试业界技术文章专用博客 3772

QT项目实战:如何在正点原子Linux开发板上集成CVR-100UC身份证阅读器(附完整代码)

本文详细介绍了在正点原子Linux开发板上集成CVR-100UC身份证阅读器的完整实战流程。内容涵盖驱动适配、库文件部署、QT项目框架搭建、核心功能封装以及界面集成,并提供了完整的代码示例,帮助开发者快速实现嵌入式环境下的身份证信息读取功能。

yyy34的博客 257

【调试记录】GT ip跑aurora 64b66b协议

如果不用,会出现这种情况:自回环测试,数据收发ok.一旦和对方通信,对方接收的就是一堆乱码,因为GT链路发送数据不能是全1或全0,或者长时间的1或0.否则线路容易受到干扰,毕竟线速率10多G,用了加扰和解扰,就可以提高抗干扰能力。64B66B编码,数据输入是64bit,输出是66bit,所以这之间存在着2bit的带宽差,Gearbox 就是用来解决这种差异的,实现方式是:将66bit数据拿出来2bit先存入Gearbox,然后输出64bit.发送同步码或控制数据时,配置成2.2.4 加扰和解扰!

weixin_41246509的博客 1601

Loadrunner:遍历 web_reg_save_param_ex保存的多个参数

1、先调用接口,并将申请ID保存为参数 lr_start_transaction("search_need_print_app"); // 获取申请表ID web_reg_save_param_ex( "ParamName=app_ids", "LB={\"id\":", "RB=,\"orgId\"", "Ordinal=ALL", SEARCH_FILTERS, "Scope=BODY", ...

一个混错圈儿的小测试 1533

基于51单片机的电压表【0-20V,ADC0832,4051,自动量程】(仿真)

自动换挡式数字电压表就是一个基于单片机的能自动切换量程的数字电压表,其作用是在使用低位的AD转换实现高精度电压测量,可以测量0~20V的电压,并且具有0~0.2V(待测电玉低于0.2V时),0~2V(待测电压低于2V时)和0~20V三个量程自动匹配测量,当待测电压值发生变化时,电压表可以根据输入电压情况自动选择合适的量程进行测量,并且把测量结果显示出来。(2)实现电压表精度测试,最高精度要求0.01V;(1)实现0~20V分3档式电压表;

qq_63964231的博客 1497

loadRunner手动关联, web_reg_save_param_regexp()函数正则匹配字符,赋值给变量

loadRunner写脚本实现登录机票网站,手动关联,获取页面源码中特定字符 手动关联,就是通过函数获取某个步骤生成的字符,赋值给一个变量,这个变量可以作为接下来某个步骤的输入, 以便这个脚本能够在存在关联约束关系的场景中顺利走通,例如登录机票预订系统步骤的条件之一,是需要在进入首页时获取一个动态的usersession的值, 这个userSession的值需要在登录系统时用...

weixin_30262255的博客 1671

【100%通过率】华为机试真题 Python 实现【对称美学】【2022.11 Q4 新题】

对称就是最大的美学,现有一道关于对称字符串的美学。 已知: 第1个字符串:R 第2个字符串:BR 第3个字符串:RBBR 第4个字符串:BRRBRBBR 第5个字符串:RBBRBRRBBRRBRBBR相信你已经发现规律了,没错! 就是第i个字符串=第i-1号字符串的取反+第i-1号字符串。取反即(R->B,B->R); 现在告诉你n和k,让你求得第n个字符串的第k个字符是多少。(k的编号从0开始)

MISAYAONE的博客 1万+

AI产品经理面试宝典第94天:RAG知识库构建与预处理策略面试指南

本文深入解析RAG知识库构建的核心挑战与预处理策略,涵盖文档格式转换、问答对生成及自动化测试全流程,为AI产品经理提供面试必备的实战方法论与避坑指南,助你精准应对技术深度类问题。

打造全国最全的AI Agent开发知识领域的博客 312

Loadrunner:性能测试浅析关联函数web_reg_save_param()

背景:关联是性能测试中必不可少的技术点,即为了模拟真实场景而设计的,同样关联的接口测试亦是如此;首先介绍loadrunner工具的几个相关函数:大抵函数的参数部分,除了Ordinal不写就是默认Ordinal=1(取出第一个匹配的参数),写了Ordinal=All即为保存响应满足左右边界的所有参数,那此时{param_1}就不是一个正确的参数引用,而就是{param_1}字符串,下面来以web_r...

我先测了 6549

AI Agent开发第82课-手把手教你把paddleocr-vl做成mcp使其在DIFY里运行

本文详解如何将国产顶尖多模态 OCR 模型 PaddleOCR-VL 封装为标准 MCP(Model Calling Protocol)服务,并通过自研的 HTTP-based MCP Client 接入 Dify 1.10,实现 AI Agent 在对话中自动识别并调用 OCR 能力。该方案已在某头部保险公司真实业务流程中落地,使用了当前最先进的“Agentic AI 原生”设计思想。

打造全国最全的AI Agent开发知识领域的博客 1625

Loadrunner 怎么用web_reg_find 和web_reg_save_param

通常web_reg_find用于文本查找,其属性SaveCount是当改文本找到后该参数为1,如果没找到则为0,并且函数不会因为没找到而报错。可以用此参数值用于标志位判断。web_reg_find("Search=Body",  "Text=Interaction ID111:",        "SaveCount=abc_count",  LAST);lr_output_message("savecount is: %s", lr_eval_string("{abc_count}"));//并且可以用a

koala_swnu的专栏 2528

非洲秃鹫优化算法(AVOA)详解:从原理到实战

非洲秃鹫优化算法(AVOA)是一种模拟秃鹫觅食行为的元启发式算法。该算法通过数学建模秃鹫的群体分工、饥饿感知和食物竞争等行为,将优化问题转化为智能觅食过程。AVOA包含四个关键阶段:(1)种群初始化与最佳秃鹫选择;(2)饥饿率控制探索与开发平衡;(3)探索阶段模拟远距离飞行搜索;(4)开发阶段模拟食物源附近的竞争行为。算法采用饥饿率函数实现自适应搜索,初期偏向全局探索,后期转向局部开发。实验表明AVOA在标准测试函数和工程设计问题上表现出优越性能,其创新性在于将秃鹫独特的生物学特性转化为高效的优化机制。

qq_42212808的博客 227

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【loadrunner性能测试】:关联函数web_reg_save_param_ex获取请求返回值

摘要:本文介绍在LoadRunner中处理动态GUID参数传递的方法。首先使用web_reg_save_param_ex函数获取所有serviceEvaluationDimensionGUID值,设置Ordinal=ALL存储到数组中。然后通过lr_eval_string和lr_output_message函数验证数据获取情况,使用lr_save_string将数组元素分别保存到四个变量中。最后将这些变量替换到后续请求的body参数中,实现动态参数的传递。关键点包括:参数捕获、数组处理、变量转换和参数替换。

BenZ_X的专栏 787

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

loadrunner回放时报Error ----(web_reg_save_param)

搞了大半天,终于能正常通过web_reg_save_param获取到自己想要的返回值了。 网上说了好多办法,但是对我都没用,我的办法是先用web_reg_save_param函数获取所有响应body体内容,然后根据返回的结果设置LB、RB值。 获取整个响应body体方法。 web_reg_save_param(“ResponseBody”, “LB=”, “RB=”, “Search=Body”,LAST);//获取所有的responsebody值。 如果使用LR11,使用web_reg_save_para

happy2020123的博客 1211

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Loadrunner中web_reg_save_param的使用详解(转载)

应用范围在使用Loadrunner进行性能测试时,经常遇到一种情况,需要通过web页面修改某事务的状态。于是需要首先读出当前的事务的状态,再进行修改,此时便可以使用到web_reg_save_param了。可以通过它先将事务的状态读出写入一个自定义的变量中,根据变量的值来决定下一步的动作。 简要说明语法: int web_reg_save_param(const char *ParamName...

ljoanve的专栏 767

loadrunner中web_reg_save_param和web_reg_save_param_ex的区别

在使用Loadrunner进行性能测试,编写接口请求脚本时,通过会用到关联函数,而web_reg_save_param和web_reg_save_param_ex的函数有什么区别呢?以下为总结的两点,欢迎补充! web_reg_save_param保存的参数直接写名字即可web_reg_save_param_ex保存的参数有个ParamName,将参数名字赋值给ParamName 有多个关联结...

weixin_30872337的博客 825

loadRunner手动关联,通过 web_reg_save_param()函数

Action() { //<B>sign up now</B></A> /* web_reg_save_param_regexp( "ParamName=gloryroad", "RegExp=<B>(.*)</B></A>", ...

weixin_30721077的博客 188

如何使用web_reg_save_param方法保存的多个参数?

web_reg_save_param方法中,如果参数部分指明"ORD=ALL",则可以保存多个参数。例如“web_reg_save_param("flight_num","LB=","ORD=ALL",LAST)”,将会根据实际情况查找符合条件的内容,然后把找到的结果依次保存在参数flight_num_1、flight_num_2、flight_num_3、……中。如果要使用这些参数,可以借助数组

mohan123456的专栏 1143
上一篇: loadrunner Web_类函数之web_reg_save_param()
下一篇: loadrunner Web_类函数之web_reg_save_param_regexp()
testingstar
博客等级 码龄15年 77粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值