51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 8521|回复: 23

[原创] 如何深入理解LoadRunner的关联

[复制链接]

该用户从未签到

发表于 2007-8-18 15:39:07 | 显示全部楼层 |阅读模式
如何深入理解LoadRunner中的关联

最近很多朋友问起关联的问题,而且关联是LR中相当重要,而且比较难理解的一个话题。有感于此,我写了一篇简单的帖子,跟大家分享我理解的关联。拍砖引玉,也欢迎大家拍砖。原帖可以在我的博客找到:

http://www.rickyzhu.com/2007/08/18/how-to-understand-correlation/




说关联之前先说说正则表达式吧(也叫规则表达式,其实说的是一个东西)

在脚本语言中,给定一个复杂的字符串,如果要取其中符合一定模式的字符或者字符串,就需要进行模式匹配,这个时候正则表达式就是最好的解决方案了。下面举个简单的例子说说。

给定一个字符串org:

“Value=/wEPDwUKLTY4MzkwMjI5MA9kFgJmD2QWAg==”, ENDITEM,

假如我们要匹配Value=/后面的这个很大的值,那么用正则表达式改怎么写呢?
下面给出一种Tcl语言的正则表达式写法(写法不止一种),

set org “Value=/wEPDwUKLTY4MzkwMjI5MA9kFgJmD2QWAg==”

if [regexp -all {Value=/(.*)==} $org match value] {
puts $value
}

这里用到了两个参考,前面的边界和后面的边界,前面的边界是:\”Value=/, 后面的边界是:==\” 利用这两个边界,左边界和右边界,我们就可以准确的定位和匹配这个需要的字符串。

说了这么多,现在步入正题,LoadRunner中的关联。其实前面介绍了正则表达式,明白点的朋友可能已经知道我想说什么了–这就是我理解的LoadRunner中关联的内部实现,当然可能实际的实现比这个要复杂的多。

那个字符串org就是我从一段脚本中摘录过来的,是一个web page的源代码中的一句话,LoadRunner通过web_reg_save_param函数在内部利用正则表达式把这个值匹配下来,然后存起来,以备后面使用。

web_reg_save_param函数有两个很重要的参数,就是LB和RB,这就是我前面正则表达式里面用的左边界和右边界。这个值是在调用之前提前取出来的,所以web_reg_save_param这个方法一定要写在使用调用或者打开页面的前面。

抛砖引玉,希望对加深大家对LoadRunner中关联的理解有帮助。

评分

参与人数 1综合技术指数 +20 收起 理由
fishy + 20

查看全部评分

回复

使用道具 举报

该用户从未签到

发表于 2007-8-18 18:03:17 | 显示全部楼层
支持楼主
不错
我只会用些简单的关联
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2007-8-18 18:06:52 | 显示全部楼层
楼主说的这个比较简单的
我也会用
楼主能不能帮我看看这个网站的关联
www.orsoon.com  未来软件园
我用他录制脚本
老是找不到需要关联的地方
VUGEN提示出错的地方也找不到
麻烦楼主指导下
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2007-8-18 22:04:18 | 显示全部楼层
简单的理解了,复杂的一样,重要的是你理解了关联的本质没有。

另外,切记一点:不要为了关联而关联。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2007-8-19 08:20:25 | 显示全部楼层
顶,斑竹!
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2007-8-19 14:02:32 | 显示全部楼层
ding
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2007-8-19 17:09:15 | 显示全部楼层
关联还是一个比较复杂技术
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2007-8-20 10:35:40 | 显示全部楼层

回复 #7 wzjefc 的帖子

不过本质是简单的,如果理解了这一点,就明白了。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2007-8-21 09:05:59 | 显示全部楼层
谢谢楼主了!

感觉跟C里面的define有点像,是不是?

是不是一个道理?

说明里的什么“简化代码”、“用于数据”、“容纳唯一数据”把我整晕了!
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2007-8-21 09:31:51 | 显示全部楼层
有些关联的数据很容易找
比如这个网站的关联
www.orsoon.com
为什么我就一直找不到关联呢
导致每次都无法回放
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2007-8-21 10:58:10 | 显示全部楼层
其实这个函数在help中有比较详细的说明。

首先,它是一个注册类型函数。
实现的方式就是:先定义一个变量,并分配空间(默认情况下是256位)。然后按左右边界值来匹配,我感觉用不到正则表达式。
我的想法如下:
1,录制时得到的动态数据对回放是没有意义的,不需要拿正则表达式去替代这些数据。
2,只需要判断左右边界。
我觉得就是用C语言实现一个search的功能。就够了。

一家之言。

[ 本帖最后由 Zee 于 2007-8-21 11:45 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2007-8-21 11:04:59 | 显示全部楼层
老天哪!怎么这么难啊?
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2007-8-21 11:36:13 | 显示全部楼层
关联其实不难,理解了就好,多看看help,多实践一下就好了,呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2007-8-24 11:11:30 | 显示全部楼层
我现在看了好多的关联的资料
但是要是关联的在÷实际练习就好了 比看强
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2007-8-24 11:20:46 | 显示全部楼层
还在学习中:关联
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2007-8-24 14:07:03 | 显示全部楼层
关联的东东确实比较难,学习中
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2008-12-12 12:10:20 | 显示全部楼层

关联

我做了有关动太验证码的关联问题,总是出错:HTTP status-Code=500(internal server error)是什么原因,哪位同学能帮忙录制一份,传起上来啊,非常感谢
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2009-1-6 09:39:18 | 显示全部楼层
谢谢楼主 收益非浅
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2010-12-7 09:08:54 | 显示全部楼层
还没有思路,正在学习中。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2010-12-7 10:29:12 | 显示全部楼层
直接找关联不难,难的是怎么优化关联,比如BBS发帖回帖的时候,虽用到关联,但似乎脚本需要代码来优化一下,这个本人正在学习
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-4-19 06:48 , Processed in 0.083847 second(s), 31 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表