LoadRunner之关联
一、什么是关联
关联就是将服务器动态返回变化的值保存为一个参数以供后面需要用到的地方使用。
二、什么时候需要关联
1、服务器返回中存在动态变化的值,一般是类似session、token这样的无规则数据
2、后续操作需要使用到之前的数据
3、运行之后没有报错,也没有产生任何数据
三、如何查找关联
1、首先要对业务足够熟悉
2、在HTML查找Hidden标签
3、不规则的一串数字或者数字与字母的混合
4、脚本、请求什么的都对,但回放就是报错。那可能报错的上下文处需要关联
5、可以请教开发人员,哪些地方是需要动态捕捉数据的
四、常用的关联函数
在LoadRunner中常用的两个关联函数:web_reg_save_param()和web_reg_save_param_ex()。这两个函数都是预注册函数,所谓预注册函数的意思就是要放到请求的前面。LoadRunner11版本以后,我们推荐使用web_reg_save_param_ex。具体用法如下:
web_reg_save_param()
所有参数如下图:
web_reg_save_param_ex()
所有参数如下:
五、使用LoadRunner工具进行关联
我们使用Bugfree的创建bug和解决bug脚本来进行说明,解决bug的时候要用到创建bug时服务器返回的BugID,所以我们要进行关联保存为一个参数。
1、光标选中提交bug函数,然后选择Tree视图
2、在Tree视图中选择HTTP View,在Response信息里面查找21(bugid),选中21后点击右键
3、回到Script视图,我们发现关联函数已经自动生成了
这样关联就完成了,回放就不会报错了。
六、手写关联函数
我们以LoadRunner自带的Web Tours网站的登录脚本来进行说明。这个网站有点特别,打开首页就生成了一个userSession,而不是登录成功以后,所以我们就没办法像上面一样在response里面找到这个userSession,所以这里我们要用手写关联函数。
1、打开Web Tours登录页面,右键→查看源,在里面查找session关键字
2、在脚本中添加关联函数
3、在提交登录请求这里右参数替代session值
这样关联就完成了。
LoadRunner之关联的更多相关文章
- 【Loadrunner】Loadrunner 手动关联技术
Loadrunner 手动关联技术 录制成功,回放失败,怀疑和动态数据有关: 1 重新录制一份脚本,两次录制的脚本进行比对,确定动态数据,复制动态数据: 2 找到第一次产生该动态数据的响应对应的相应 ...
- Loadrunner手动关联详解
Loadrunner手动关联详解 一.关联的含义: 关联(correlation):在脚本回放过程中,客户端发出请求,通过关联函数所定义的左右边界值(也就是关联规则),在服务器所响应的内容中查找,得到 ...
- LoadRunner:关联HTTP请求
LoadRunner:关联HTTP请求 本例通过一个使用HTTP/HTML协议发送.获取服务器数据的vuser脚本,分析LoadRunner如何进行HTTP关联. 下面这个例子包括两个事务:上传数据到 ...
- LoadRunner ---手动关联与预关联
手动关联 如果脚本很长,那么我们想找到一个脚本中哪些地方是需要关联的并不是一件容易的事情.这时,我们可以通过脚本对比的方法找 ...
- loadrunner:关联操作
文章以实例讲解loadrunner中的关联操作,内容包括:自动关联.手动关联和关联规则的设置. 1.1.1 准备工作 在web tours项目默认设置里,登录操作是没有生成sessionID的 ...
- loadRunner手动关联, web_reg_save_param_regexp()函数正则匹配字符,赋值给变量
loadRunner写脚本实现登录机票网站,手动关联,获取页面源码中特定字符 手动关联,就是通过函数获取某个步骤生成的字符,赋值给一个变量,这个变量可以作为接下来某个步骤的输入, 以便这个脚本能够在存 ...
- LoadRunner参数化&关联
我们用 HTTP 协议做脚本,要注意的是,不同协议的函数是不一样的,假如换 websocket 协议,关联函数就要用其他的 参数化 原理 1.什么叫参数化 把脚本内一个写死的值,去一个数组内取值,进行 ...
- LoadRunner脚本关联动态数据的最简单方法
为什么要关联动态数据呢?举个例子,在对我们平台的工作流性能测试时, 在待办任务里面选择一条记录执行发送操作,LoadRunner VuGen会详细记录下来流程发送操作的细节,但在回放脚本的时候会有问题 ...
- LoadRunner 自动关联、手动关联的帖子
https://www.guru99.com/correlation-in-loadrunner-ultimate-guide.html 这个网页里介绍了关联的概念,自动关联和手动关联的知识...
随机推荐
- Maven项目构建利器05——Maven的生命周期
Maven各个构建环节执行的顺序: 不能打乱顺序, 必须按照既定的正确顺序(编译,测试.打包.部署)来执行Maven的核心程序中定义了抽象的生命周期, 生命周期中各个阶段的具体任务是由插件来完成的,可 ...
- FastDFS 集群
FastDFS 集群 克隆虚拟机 VMware修改mac 修改 ip地址 rm -f /etc/udev/rules.d/70-persistent-net.rules reboot Tracker集 ...
- 如何检测指定的Windows服务是否启动
在项目中,特别是安装项目中我们经常要判断一些服务是否启动(判断SQL Server是否启动最常见),在.net中我们如何判断指定的Windows服务是否启动呢?首先要知道Windows服务的显示名称, ...
- Ubuntu伪破解Navicat12方法
一.去官网下载navicat112_premium_cs_x64 for linux版本二.用tar解压安装包三.navicat解压即可用,直接进入解压后的目录,然后用‘./’运行start_navi ...
- 浅谈MySQL存储引擎选择 InnoDB还是MyISAM
如果是一些小型的应用或项目,那么MyISAM 也许会更适合.当然,在大型的环境下使用MyISAM 也会有很大成功的时候,但却不总是这样的.如果你正在计划使用一个超大数据量的项目,那么你应该直接使用In ...
- vue项目history模式下微信分享相关问题
import wx from '@/utils/wx' import { shareApi } from '@/api' // 微信验证 export function requireConfig() ...
- Java面试之持久层(10)
91,什么是ORM? 对象关系映射(Object-Relational Mapping,简称ORM)是一种为了解决程序的面向对象模型与数据库的关系模型互不匹配问题的技术: 简单的说,O ...
- sh_04_判断考试成绩
sh_04_判断考试成绩 # 练习2: 定义两个整数变量 python_score.c_score,编写代码判断成绩 python_score = 50 c_score = 50 # 要求只要有一门成 ...
- 【python学习之五】自定义函数实现用 Python 发送电子邮件
前言 之前论坛里有人发过关于发送邮件的帖子,设计器也有关于发送邮件的控件.我这里再次重复,希望能有帮到大家的地方. 信息准备 发送邮件前必须准备好一些基本信息,例如发件人邮箱地址.发件人邮箱密码.收件 ...
- Android使用init.rc触发脚本实现隐藏内置应用
[实现逻辑] 通过在property_service.c中设置标志位,在设置中实现接口改变标志位, 使用init.rc中声明的服务来侦听标志位的变化,显式启动声明的服务,执行对应的脚本,把应用后缀从a ...