LR设置关联---部分内容摘自网络--望见谅
模拟环境---LR机票定票系统设置:首页点击administration-勾选Set LOGIN form's action tag to an error page.选项,点击update。
现在许多应用程序都使用动态值,每次LR获取到的动态值都不一致。例如在有些服务器会分配一个唯一的会话,回放时应用程序新创建的Id值与录制时获取到的id值不一致,导致回放提示错误。LR中提供关联解决这个问题。
LR中对参数关联分两种,一种是手动关联,一种是自动关联,自动关联就是LR工具帮你找到,比如按CTRL+F8 可以进行自动关联(或者在toos-recording options-correlation勾选设置,下图),这种方法可以满足一些简单的需求,使用比较方便,但当LR工具找不到关联时,我们就要考虑自动关联了。

还有一种方法,回放关联设置时,这次是失败的,在log页面把每一个关联上,LR自动把关联函数加进去。

最后一种方法是手动编写web_reg_save_param 函数,具体方法如下:
比如说对源码中的<input type="hidden" id="orderId" name="orderId" value="f28958249e141e62312d855ce73252d3"/>的orderId的值进行关联,那么我们可以这样写:
web_reg_save_param("orderId",
"LB=name=\"orderId\" value=\"",
"RB=\"",
LAST);
这个就是要在整个HTML文件中找左边界是:name="orderId" value="
右边界是:"
中间文本的值,找到后赋给orderId。
这样一个手工关联就做好了,很简单吧。
另外:web_reg_save_param一般用在提交web_submit_form,或web_url函数之前。
函数的语法如下所示:
下表列出可用的属性。注意,属性值字符串(例如 Search=all)不区分大小写。
NotFound
找不到边界并且生成了空字符串时的处理方法。默认值
“ERROR”表示找不到边界时 LoadRunner 应发出错误消
息。如果设置为“EMPTY”,则不会发出错误消息,并且
脚本的执行将继续进行。注意,如果为脚本启用了“出现
错误时仍继续”,则即使将 NOTFOUND 设置为
“ERROR”,在找不到边界时脚本将仍然会继续执行,但
会将错误消息写入扩展日志文件中
LB
参数或动态数据的左边界。此参数必须为非空的、以 null
结尾的字符串。边界参数区分大小写;要忽略大小写,请
在边界之后添加“/IC”。如果在边界之后指定“/BIN”,
则指定为二进制数据
RB
参数或动态数据的右边界。此参数必须为非空的、以 null
结尾的字符串。边界参数区分大小写;要忽略大小写,请
在边界之后添加“/IC”。如果在边界之后指定“/BIN”,
则指定为二进制数据.
LB/RB赋值的是你要抓取文本的左/右边的内容,例如你要从"abcdefghijk"中抓取"de"保存在变量中,那么LB="abc"和RB="fghijk"就可以抓到你要的东西了
RelFrameID
与请求的 URL 相关的 HTML 页的层次结构级别。可能的
值为 ALL 或数字
Search
搜索的范围 - 搜索已分隔的数据的位置。可能的值为
Headers (仅搜索页眉)、Body (仅搜索正文数据,而不
包括页眉)或 ALL (搜索正文和页眉)。默认值为 ALL
ORD
此可选参数表示匹配的序号或出现的次数。默认序号为 1。
如果指定“All”,则会将参数值保存在数组中,是将找到的动态变量保存到数组中。默认是ord=1.如果搜索到的字符是多个,并想将他保存在数组里,则ord=all;他们分别保存到pr_1 pr_2 .....。其中pr_count为内部函数,统计数组的个数。
SaveOffset
找到的值的子字符串偏移量,将保存到参数。默认值为 0。
偏移量值必须为非负数,偏移量。从搜索到的字符串中,取子串。默认saveoffset=0.
Savelen
找到的值的子字符串的长度(在指定的偏移量中),将保
存到参数。默认值为 ñ1,表示直到字符串的末尾
Convert
要应用于数据的转换方法:
HTML_TO_URL:将 HTML 编码数据转换为 URL 编码数
据格式
HTML_TO_TEXT:将 HTML 编码数据转换为纯文本格式。
函数的一些使用技巧:
1、web_reg_save_param必须在获取返回值的操作前面注册,在获取返回值的操作后面使用
2、保存参数最大不能超过256字节,如果超过256字节请使用int web_set_max_html_param_len (const char *length )函数扩大参数保存范围
例如:web_set_max_html_param_len ("1024"); //扩大参数最大保存范围为1024字节
3、LB和RB后面跟着"/ic",则边界大小写都匹配(不加,也就是默认是大小写敏感的)
例如:web_reg_save_param("IsRight","LB/ic=cache-control: private\r\n\r\n","RB/ic=|",LAST);
LR设置关联---部分内容摘自网络--望见谅的更多相关文章
- Android:控件WebView显示网页 -摘自网络
WebView可以使得网页轻松的内嵌到app里,还可以直接跟js相互调用. webview有两个方法:setWebChromeClient 和 setWebClient setWebClient:主要 ...
- Ubuntu的常用快捷键(摘自网络)
篇一 : Ubuntu的复制粘贴操作及常用快捷键(摘自网络) Ubuntu的复制粘贴操作 1.最为简单,最为常用的应该是鼠标右键操作了,可以选中文件,字符等,右键鼠标,复制,到目的地右键鼠标,粘贴就结 ...
- LR手动关联参数化问题总结
所谓的关联就是把脚本中某些写死的代码(hard-coded)数据,转变成截取自服务器所送的.动态的.每次都不一样的数据. 一般情况下,比较聪明的服务器在每个浏览器第一次跟它要数据时,都会在数据中夹带一 ...
- CDN(内容分发网络)技术原理
1. 前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加, 用户数量也在不断增加,受Web服务器的负荷和传输距离 ...
- CDN 内容分发网络技术
1.前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加,用户数量也在不断增加,受Web服务器的负荷和传输距离等因 ...
- 深度剖析:CDN内容分发网络技术原理--转载
1.前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加,用户数量也在不断增加,受Web服务器的负荷和传输距离等因 ...
- C# 中的内存管理,摘自网络
C#编程的一个优点是程序员不需要关心具体的内存管理,尤其是垃圾收集器会处理所有的内存清理工作.虽然不必手工管理内存,但如果要编写高质量的代码,还是要理解后台发生的事情,理解C#的内存管理.本文主要介绍 ...
- CDN内容分发网络
CDN的全称是Content Delivery Network,即内容分发网络,其设计思想是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快.更稳定. CDN系统是在网络 ...
- DevOps之内容分发网络CDN
唠叨话 关于德语噢屁事的知识点,仅提供专业性的精华汇总,具体知识点细节,参考教程网址,如需帮助,请留言. <内容分发网络CDN(Content Delivery Network)> 关于虚 ...
随机推荐
- Asp.net MVC4.0(net4.5) 部署到window server 2003上的解决方案
Asp.net MVC4.0(net4.5) 部署到window server 2003上的解决方案 最近做了一个Web项目,也没多想就用了Asp.net MVC4.0 ,MVC4.0默认的目标fra ...
- Go语言搭建自己的博客
我是如何用Go语言搭建自己的博客的 前言: 话说,已经很久没有在博客园更新博客了,之前写的关于go语言的系列学习文章<让我们一起Go>也由于种种原因一度中断.但是,正如我之前在文章中所 ...
- ListNode线性表
不常用,可以看一下实现原理 namespace UnilateralismChainTable { // 结点类 public class ListNode { public ListNode(int ...
- hadoop集群的搭建与配置(2)
对解压过后的文件进行从命名 把"/usr/hadoop"读权限分配给hadoop用户(非常重要) 配置完之后我们要创建一个tmp文件供以后的使用 然后对我们的hadoop进行配置文 ...
- Day4:T3搜索 T4数学题排列组合
T3:搜索 很出名的题吧,费解的开关 同T2一样也是一题很考思考的 附上题解再解释吧: 对于每个状态,算法只需要枚举第一行改变哪些灯的状态,只要第一行的状态固定了,接下来的状态改变方法都是唯一的:每一 ...
- JS获取当前日期时间并定时刷新
JS获取当前日期时间 var date = new Date(); date.getYear(); //获取当前年份(2位) date.getFullYear(); //获取完整的年份(4位,2014 ...
- 一键搭键php网站环境的系统
QzzmServer v2.0正式版发布 首先,感谢网友的热情的测评及反馈,现QzzmServer 2.0正式版已发布.有些朋友反馈制作一个服务器专用版本,在下已将此列入计划中,敬请大家耐心等候. Q ...
- 整合MVVM框架(Prism)
整合MVVM框架(Prism) 我们基础的框架已经搭建起来了,现在整合MVVM框架Prism,在ViewModel做一些逻辑处理,真正把界面设计分离出来. 这样方便我们系统开发分工合作,同时提高系统可 ...
- IOS Objective-C 协议,委托
IOS Objective-C 协议,委托 IOS开发使用的语言Objective-C(以下简称OBJ-C)是一种扩展自C语言的面向对象语言.在OBJ-C中有一个很重要概念:消息.在最近的学习当中逐渐 ...
- txt文件保存问题
今天终于解决了文件的保存问题,之前删除文件,再保存,发现删除的内容还是在文件中. 这是因为保存内容时,是将数组内容一行一行覆盖原来的内容,没有覆盖到的还是保存在文件内. 我用的是CFile类 所以直接 ...