LoadRunner 技巧之 手动关联与预关联
上一节介绍了关联的原理与自动关联,除了自动关联还有另外两种关联方式:手动关联与 预关联。
手动关联
如果脚本很长,那么我们想找到一个脚本中哪些地方是需要关联的并不是一件容易的事情。这时,我们可以通过脚本对比的方法找出需要关联的内容。
1、录制第一份脚本,保存为“关联a” 。
2、录制第二份脚本(操作步骤与第一次保持一致),调用loadrunner自带的WinDiff
(Tools-->campare with users ),选择“关联a”
通过WinDiff 对脚本的对比,我们很容易来判断需要做关联的内容。
3、使用web_reg_save_param函数建立关联脚本
web_reg_save_param("ParamName=CorrelationParameter_1","LB=userSession Value=","RB=>","Ordinal=1","RElFrameId=1.2.1","Scope=Body",LAST);
int web_reg_save_param( const char *ParamName, <List of Attributes>, LAST );
第一部分(const char *ParamName):参数名,用双引号括起来,逗号分开
第二部分(<List of Attributes>):包括LB、RB、RelFameID、Ord、Search、SaveOffiset、SaveLen等。
第三部分(LAST ):结束标志。
通过按F1 键打开帮助文档,搜索此函数,查看具体用法。
4、LR11 还提供了另一种手动关联方式。
选择Tree 视图模式,点击HTTP View 下查看Response Body 中,打到需要关联的内容,右键在下拉列表中选择“Create Coorelation”
预关联
预关联也可以叫做“ 一边录制一边关联”。为什么录制某此系统,会得到一些自动关联函数呢?这就是系统默认提供自动关联设置。如果我们预先知道需要关联的内容时。可以预先设置好要关联的内容,这样在脚本录制的过程中自动对要关联的内容进行关联。
在录制脚本时打开Recording Options 设置窗口
(本文以loadrunner 自带WebTours 的关联为例)
1、点击一New Application 按钮,新建一个叫做WebTours 的应用
2、选择这个规则,点击 New Rule 按钮一个规则。
3、然后做如下设置:
关联函数web_reg_save_param_ex
前面的例子用到web_reg_save_param 关联函数,web_reg_save_param_ex 可能也是很常用的一个关联函数。我们碰到函数就胆怯,这个不知道暗具体怎么使用它。
菜单栏Insert --- new step 打开add step 窗口
搜索web_reg_save_param_ex 函数,选中函数,点击OK ,弹出函数的设置窗口:
Prameter name: 此设置存放参数的名称。
Left boundary: 此处设置左边界,这里是用来填写关联对于数据处理的左匹配内容规则。
Match case : 默认情况下边界是检查Match case ,也就是检查大小写的。
Binary data : 如果要关联的内容是非ASCII 字符的,需要选择此项
Regular expression : 在LR11 中关联提供了使用正则表达式的功能,但是LR11 Patch3 中取消web_reg_save_param_ex 函数对此功能的设置。
Reight boundary: 此处设置右边界。
DFEs : 在录制选项和回放中我们提供了DFE的功能,在关联这里也支持DFE的数据处理。 (DFE等后面再解释,或你自行查资料)
Ordinal : 这个关键字在很多函数里面都有应用,在这里可以填写任意一个整数,也可以填All 。如果填写数字,那么说明从返回的记录中取出对应顺序的值,而填写All 的话将会返回所有内容。
Save Offset : 设置关联的内容偏移量,从第几位开始进行关联操作。
Save Length : 关联出来的内容所需要保存的长度。
Warm if text was not found (Default is Error) : 对于关联的对象不存在的处理。
Filters : 下面的选项都是帮助关联返回限定的,通过这些设置可以进一步减少返回的范围。
----------------------------------------------------
关于关联函数的每一个选项的介绍,我将得不是很清楚,你可以找更详细的资料学习。
相关文章:

android app文档,android App项目需求描述文档.docx
本app是给外卖配送员用的,系统后台根据一定的逻辑生成或者建立运单,本App读到后台的运单讲外卖送到定外卖的手中本文档所需详细资料请到/s/1jGGgtLG下载与后台交互的地方不用实现,有数据显示的自己把交互函数写好 返回的测试数据写在交互函数…
如何利用微信小游戏的分包加载机制突破4M代码包体积限制
相信大家度过了一个不错的端午假期,在端午前夕,即6月15日晚上,微信小游戏宣布支持分包加载功能,白鹭引擎在端午节后第一天正式支持分包加载机制。在正式向开发者介绍如何使用前,我先为各位解读一下我对微信提供这个 AP…

一个会画图的工程师
发现小谢图画的很好,虽然有些也是他引用的,但是我觉得还是很好所以这里收集下。 【RocketMQ源码学习】2-Namesrv 3-Remoting模块 rocketmq-remoting 模块是 RocketMQ 中负责网络通信的模块,被其他所有需要网络通信的模块依赖。它是基于 Net…

2016百度实习编程题:括号序列
不知如何解决 1.感觉贪心或者动态规划,不知道如何解决 2.做过生成合法括号序列的题目,想到用DFS补成合法的括号,然而没有成功

html动画怎么隐藏,JQuery操作div隐藏和显示的4种动画
Jquery-Div动画显示body{font-family:"宋体";font-size:13px;color:#415973;}#ShowDiv{display:none;width:300px;height:100px;border:1px solid #ccc;border-right:2px solid #888;border-bottom:2px solid #888;background-color:#f9f9f9;text-align:center;paddi…

@芥末的糖----------《后端加密》
bcryptsession 生命周期 session 标识产生的时机和清除时机:(权限验证) 用户已经登录:这个唯一标识会在用户登录时产生,用户点击退出时或者关闭浏览器时清除。 …
Java中的ClassLoader和SPI机制
深入探讨 Java 类加载器 成富是著名的Java专家,在IBM技术网站发表很多Java好文,也有著作。 线程上下文类加载器 线程上下文类加载器(context class loader)是从 JDK 1.2 开始引入的。类 java.lang.Thread中的方法 getContextCl…

html在线缓存视频,javascript – 如何为HTML视频添加缓冲
给你的视频提供ID:用于缓冲:var vid document.getElementById("myVideoOne");alert("Start: " vid.buffered.start(0) " End: " vid.buffered.end(0));var vid document.getElementById("myVideoTwo");aler…
ComponentName(String pkg, String cls)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qingfeng812/article/details/51279606 开发中因为改项目包名,用了全局替换,误操作把改构造函数的第二个参数只写了类名,不是完整的全路径…

mysql干货——数据库字符集和校对规则详解
2019独角兽企业重金招聘Python工程师标准>>> 一、什么是字符集 字符是多个文字和符号的总称,包括各个国家的文字、标点符号、图形符号、数字等。字符集多个字符的集合。 字符集合种类较多,每个字符集包含的字符的个数不同。对于字符集不支持的…

android监听器在哪里创建,[转载]android开发中创建按钮事件监听器的几种方法
第一种:匿名内部类作为事件监听器类Button button(Button)findViewById(R.id.button);button.setOnClickListener(newOnClickListener(){public void onClick(View v){System.out.println(“匿名内部类作为事件监听类”);}});大部分时候,事件处理器都没有…
Go语言源码分析CAS的实现和Java如出一辙
看了Go的源码CAS这块实现和java还是类似的。 关于Java的分析参考:Java使用字节码和汇编语言同步分析volatile,synchronized的底层实现 都是使用汇编指令:LOCKCMPXCHGL 原因很简单:单核肯定不能发挥Go的高并发性能,G…

python 的文件读写方法:read readline readlines wirte writelines
read()方法读入整个文件,把整个文件以字符串形式返回。readline() 方法每次只读一行,每运行一次只读一行。如果要读整个文件,需要结合循环判断文件结束。python判断文件末尾的标志是,读到空字符。比如:while str ! :r…

c# 模板方法模式
为什么80%的码农都做不了架构师?>>> 既然是模板肯定定义了相同的东西板式,提供了空白的地方自己添加进去就可以了 模板方法是把相同的部分抽象出来到抽象类中去定义,具体子类来实现具体的不同部分,这个思路也正式模板…
transient HashMap使用目的分析
看HashSet源码有这么一句: private transient HashMap<E,Object> map; 再看HashSet的Add方法: 实际上HashSet是复用HashMap了。 而我们去看看HashMap也会发现一样使用了transient 而不管是HashSet还是HashMapdou都要求是Serializable的ÿ…

4月29日监理师课程作业
软考信息系统监理师:2016年4月29日作业一、信息应用系统分析设计阶段监理1、需求分析的进入条件是什么?(记)答:①业主单位与承建单位正式签订建设合同,②并对初步的项目开发计划达成一致意见。2、需求分析的…

沉浸式导航栏html,混合开发 h5+ 沉浸式的适配
1.需要在mainfest.json plus对象里添加"statusbar": {"immersed": "true","style":"dark"}2.新建immersed.js注意 在里边不适用plus,因为plus.ready之后再js改变样式 必然造成页面闪烁跳动(function(w){document.addEventLi…
puppet yum模块、配置仓储、mount模块
转载:http://blog.51cto.com/ywzhou/1577335 作用:自动为客户端配置YUM源,为使用yum安装软件包提供便捷。 1、服务端配置yum模块 (1)模块清单 [rootpuppet ~]# tree /etc/puppet/modules/yum/ /etc/puppet/modules/yum…

最新技术选型解决方案列表
最新技术选型解决方案列表 1 概述 这是一份当前的技术选型方案,针对创业、中小型公司 2 目标2.1 产品目标2.1.1 SaaS 2.1.1.1 免安装 2.1.1.2 多租户 2.1.1.3 流量计费 2.1.2 可配置 2.1.2.1 需开通服务 2.1.2.2 服务自动组合 2.1…

合工大的计算机专业好不好,合肥工业大学计算机好,还是西电的好?差距有多大?...
合肥工业大学计算机好,还是西电的好?差距有多大?这两个大学都是教育部直属的工科院校,但是性质完全不一样,到底谁更厉害,结论是西电的计算机要比合肥工业大学强。首先因为西电本身就是比哈工大厉害的大学,学科评估方…

DataWorks V2使用PyUdf
在DataWorks上新建一个Python资源,命名为 test_udf.py 编辑pyudf的脚本代码,实现方法请参考Python实现MaxCompute UDF # -*- coding:utf-8 -*- from odps.udf import annotate #函数签名,SQL执行前所有函数的参数类型和返回值类型必须确定&a…

Java线程怎样映射到操作系统线程
先说多线程模型,参考经典教材《Operating System Concepts , Silberschatz ,9th edition》 中文版是《操作系统概念,第9版》 https://www.cs.uic.edu/~jbell/CourseNotes/OperatingSystems/4_Threads.html 一个线程是CPU利用率的基本单元,包…

NSUserDefaults的用法
2019独角兽企业重金招聘Python工程师标准>>> NSDictionary* defaults [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]; NSLog("Defaults: %", defaults); 是用来获取设备上的所有的NSUserDefaults的设置。 上面代码输出了 2013-06…

计算机在轻工行业中的应用,计算机在不同领域中的具体应用
计算机以其卓越的性能和强大的生命力,在科学技术、国民经济、社会生活等各个方面得到了广泛的应用,并且取得了明显的社会效益和经济效益。计算机的应用几乎包括人类生活的一切领域,可以说是包罗万象,不胜枚举。据统计,…

自动驾驶L3量产追梦:如何跨过车规级和低成本门槛?
雷锋网新智驾按:从人类设想到落地前行,智能驾驶领域在2018年声响不断。在频繁的融资、技术创新和商业应用等信息背后,无数车企在公司战略中加入“网联化”、“自动化”,前几年涌现的自动驾驶领域的初创公司,近年来也开…
一句话说清聚集索引和非聚集索引以及MySQL的InnoDB和MyISAM
聚集索引和非聚集索引以及MySQL的InnoDB和MyISAM经常遇到有人向我咨询这个问题,其实呢,网上帖子很多,也说的都对,但是呢,看客可不一定是真的理解了。所以今天在这里用最简短的语言让你明白这些区别。 看这种图表就一切…

awstats CGI模式下动态生成页面缓慢的改进
本文可以看做是 多server多站点情况下awstats日志分析 这篇文章的下篇,在使用过程中发现awstats在cgi模式下动态生成分析报告慢的问题 (尤其是有些站点每天两个多G的日志,查看起来简直是在考验人的耐性),本文分享一种改…

计算机水平flash试题,计算机flash考试试题
《Flash动画设计》课程考核方案一、考试班级及科目216班 《Flash动画设计》二、考试时间1、考核时间:90分钟2、考试地点:学校计算机3机房3、考核时期:十七、十八周内各课任教师自主选定三、考核形式上机独立完成所有操作。在规定时间内按考核…

CDH大数据集群安全风险汇总
一,风险分为内部和外部 首先内部: CDH大数据集群部署过程中会自动创建以服务命名的用户,如图所示 用户名(login_name):口令位置(passwd):用户标识号(UID):用户组标识号(GID):注释性描述(users)&…
有界阻塞队列ArrayBlockingQueue和无界阻塞队列LinkedBlockingQueue
ArrayBlockingQueue和LinkedBlockingQueue最大的区别是一个是有界无界,各有优劣。 先看实例代码: main函数起2个线程模拟生成消费者 import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; import java.util.…