LoadRunner学习:手动关联详解
需积分: 0 99 浏览量
更新于2024-08-23
收藏 413KB PPT 举报
"LoadRunner学习资源,包括关联原理、自动关联、手动关联、录制时关联以及Web_reg_save_param函数详解"
在性能测试领域,LoadRunner是一款强大的负载测试工具,能够模拟多个用户并发执行脚本,以检测应用程序在高负载下的性能。在编写和执行LoadRunner脚本时,关联是确保脚本能够正确执行的关键步骤。关联主要用于解决动态数据问题,因为服务器可能会返回变化的数据,如Session ID、Cookie等,这些数据如果在脚本中写死,会导致脚本回放失败。
一、关联原理
关联是为了解决在录制脚本时,某些数据(如Session ID、Token等)是动态生成的,而在回放脚本时,这些数据已经发生了变化。如果不进行关联处理,脚本将无法识别新的动态数据,从而导致测试失败。关联的本质就是将脚本中固定的硬编码数据替换为从服务器响应中实时获取的动态数据,以确保每次回放时都能正确地与服务器交互。
二、自动关联
LoadRunner的自动关联功能能够帮助用户简化关联过程。在录制和回放脚本时,VuGen会对比两者间的服务器响应,自动检测出变化的部分,并提示用户创建关联。用户只需要按照提示进行操作,VuGen就会自动生成关联代码,将动态数据转换为参数。
三、手动关联
手动关联适用于自动关联无法处理或复杂场景的情况。通过使用特定的函数,如Web_reg_save_param,用户可以直接在脚本中插入关联代码。Web_reg_save_param函数允许用户指定要提取的动态数据的正则表达式,将其保存到一个参数中,以便后续请求中可以使用这个参数。
例如,对于登录系统的场景,用户在登录后会获得一个Session ID。在录制时,VuGen会捕获这个ID,但在回放时,服务器会返回一个新的Session ID。此时,需要手动创建关联,使用Web_reg_save_param函数保存新的Session ID,并在后续的请求中使用这个参数,以确保脚本能够成功执行。
四、一边录制一边关联
在某些情况下,用户可能希望在录制脚本的同时就完成关联。这可以通过设置VuGen的录制选项实现,使得VuGen在捕获到动态数据时立即创建关联,减少后期脚本维护的工作量。
五、Web_reg_save_param详解
Web_reg_save_param函数是LoadRunner中的关键关联函数,它的语法如下:
```cpp
Web_reg_save_param(
"ParamName",
"LB",
"RB",
"SearchCriteria",
"IgnoreCase",
"DynamicOptions",
"Ord",
"LastMod",
"Reserved",
"ExtraOptions");
```
- ParamName: 保存动态数据的参数名称。
- LB/RB: 分别表示数据的左边界和右边界,用于确定要提取的字符串。
- SearchCriteria: 搜索条件,如"Exact"、"RegExp"等。
- IgnoreCase: 是否忽略大小写。
- DynamicOptions: 动态选项,如"SaveAllVersions"。
- Ord: 数据出现的顺序。
- LastMod: 是否考虑最后修改的时间戳。
- Reserved: 保留字段,通常为空。
- ExtraOptions: 额外选项,如"HTTPHeader"等。
通过正确配置这些参数,用户可以精确地提取并保存动态数据,实现手动关联。
理解并熟练运用关联技术对于编写可靠的LoadRunner脚本至关重要。无论是自动关联还是手动关联,都是为了确保脚本能够适应服务器动态数据的变化,从而真实地模拟用户行为,提高性能测试的准确性和可靠性。
韩大人的指尖记录
- 粉丝: 33
- 资源: 2万+
最新资源
- PT100应用电路及相关设计资料
- 笔记本分析
- kanban:用于Redmine的看板插件
- 行业分类-设备装置-一种接插件端子组装检测系统.zip
- ComputerVision
- 浏览器 咨信浏览器 v9.0.52.4
- Arduino-NodeJs-Serialport
- OpenSchema:用于自然语言生成的文档结构模式-开源
- 砷:w-不要判断
- ProgrammingA1
- 摄影测量_单张像片的空间后方交会(C# windows form)
- 行业分类-设备装置-一种接入不同栅格地图服务的方法.zip
- NOVA:复杂组分析数据的分析和可视化。-开源
- ruby_rbenv:ruby_rbenv食谱的开发库
- Go-uuid:本项目为go语言生成uuid和通过雪花算法生成分布式唯一id
- github-clone.el:从 Emacs 分叉和克隆 Github 项目