思步网

标题: lr的关联 [打印本页]

作者: 饺子    时间: 2008-4-12 22:12
标题: lr的关联
step365he

关联的使用,lr自带的手册
我先介绍一篇给大家关联是用来解决脚本中存在的动态数据问题的.在7.8中,当你回放一次后,LR会自动录找你录制的时候和回放时候的差别,找出动态数据,并作成参数。举个我作的动态数据的例子,当用户登录时,会产生一个Sessionid号,访问结束后,该Sessionid便会失效。我录制的时候,在脚本里面获取到了该Sessionid,但当我再回放的时候,这个Sessionid已经无效了,所以,我需要把这个Sessionid作为一个动态数据,当我一登录的时候,便获取一个新的有效的Sessionid,然后通过web_reg_save_param("WCSParam_Text2",
"LB=ProcessID=",
"RB=;",
"Ord=1",
"RelFrameId=1",
"Search=body",
LAST);
函数把它保存下来。那么后面用到的页面中就可以调用WCSParam_Text2这个参数使用这个新的Sessionid号。这是个动态数据很典型的例子,
web_submit_data("w_onload_check.asp",
"Action=http://gsserver3/cwbase/sys/userlogin/w_onload_check.asp",
"Method=POST",
"TargetFrame=",
"RecContentType=text/html",
"Referer=http://gsserver3/cwbase/sys/userlogin/index.asp",
"Snapshot=t3.inf",
"Mode=HTML",
ITEMDATA,
"Name=hdclentip", "Value=chenjing", ENDITEM,
"Name=hdProcessID", "Value=F8E5ACCD372845C38C7E1981A342F703", ENDITEM,
"Name=selInstanceid", "Value=T01", ENDITEM,
"Name=TxtUserID", "Value={RYBH}", ENDITEM,
"Name=TxtPassword", "Value=cwpass", ENDITEM,
"Name=Txtkjdate", "Value=2003.01.06", ENDITEM,
"Name=selInstancetxt", "Value=性能测试用(中型数据库)", ENDITEM,
"Name=selInstance", "Value=T01", ENDITEM,
LAST);
web_url("loginpage.aspx",
"URL=http://gsserver3/cwbase/sys/menushow/loginpage.aspx?ProcessID={WCSParam_Text2}",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t4.inf",
"Mode=HTML",
LAST);
左边界,右边界到底是个什么概念,
理解web_reg_save_param函数,
int web_reg_save_param (const char *ParamName, <List of Attributes>, LAST);

第一部分:参数名字,用双引号括起,逗号分开;
第二部分:List of Attributes,包括:LB、RB、RelFrameID、Ord、Search、SaveOffset、SaveLen等,
第三部分:LAST,结束标志。
LB是左边界,RB是右边界,比如说吧,程序中有这么一个赋值,ProcessID =A53625E18440FCE81F26DCE712E65EBA;如果ProcessID的值是动态的,我想使用动态变量,那我设定查找左边界为LB=ProcessID=,右边界为;的字符,如果找到了,就替换成变量.
Search是指查找范围,就是说在哪里查找这些值,可以取这样几个值,我们一般设为ALL,Body等即可。
Headers (Search only the headers),
Body (search only Body data, not headers),
Noresource (search only the html body, excluding all headers and resources),
ALL (search Body and headers). The default value is ALL.

RelFrameID: The hierarchy level of the HTML page relative to the requested URL.一般取1

ORD: This parameter, also known as Instance, indicates the ordinal or instance of the match. 一般取 1
LR7.8已经为用户定义好了很多类型的关联,我们可以自己定义New rule,不过我在录制脚本的时候一般把系统的那些都关掉,定义自己的,只是有的时候,它不能自动关联,就干脆手工作了。需要关联的地方:一般是在有主键,不允许记录重复,和一些主程序中传递过来的参数,在后面要用到等情况才使用关联的,你可以先执行一遍,如果有些地方不允许重复可参数值无效,就会出错的,根据错误提示你可以判断出来,就知道需要关联了。一般需要关联的不多,我现在遇到的就是进程号,以及表的主键。我这里有个Correlation的官方文档,大家下去可以自己看看
作者: 小天天    时间: 2013-2-28 07:01
大力支持
作者: 我是呆贼10    时间: 2013-4-2 14:00
呵呵。。。LZ敢整点更有创意的不?
作者: wnwuorpGLZZ    时间: 2013-5-22 12:55
很有见地的探讨,先收藏着~
作者: 太机智@    时间: 2014-4-23 08:48
我了个去,顶了
作者: 那个爱喝    时间: 2014-6-27 18:06
很有见地的探讨,先收藏着~
作者: 命犯挑花    时间: 2014-7-19 08:49
看起来好像不错的样子
作者: 沙漠超    时间: 2014-7-23 15:13
我也来顶一下..
作者: 不哭了i    时间: 2014-7-28 10:40
众里寻他千百度,蓦然回首在这里!
作者: 尕儚︶ ̄    时间: 2014-9-14 11:12
很有借鉴意义,先收藏了,谢谢楼主。
作者: 笙歌    时间: 2014-9-25 07:03
有空一起交流一下。
作者: 灵异灬艹    时间: 2014-9-26 17:47
还不错哦,如果再能多分享一些就perfect了!
作者: 皮丫子    时间: 2014-10-3 14:36
向楼主学习
作者: 唯美    时间: 2014-10-25 09:57
看了LZ的帖子,我只想说一句很好很强大!
作者: 原色阳光-3    时间: 2014-10-27 20:37
确实不错,顶先
作者: CHEN沦    时间: 2014-12-12 14:10
确实不错,顶先
作者: 李珊    时间: 2015-1-15 09:53
前排支持下了哦~
作者: 傻痴o    时间: 2015-1-16 17:07
打酱油的人拉,顺便赚点金币
作者: 望树    时间: 2015-4-1 14:14
我了个去,顶了
作者: 救生圈    时间: 2015-4-13 17:29
向楼主学习
作者: 买节操v    时间: 2015-4-22 21:04
很有见地的探讨,先收藏着~
作者: 风之引力    时间: 2015-4-25 15:31
看了LZ的帖子,我只想说一句很好很强大!
作者: ︶烟花散尽    时间: 2015-5-3 14:48
路过的帮顶
作者: 清故宸凉    时间: 2015-7-12 08:37
打酱油的人拉,顺便赚点金币




欢迎光临 思步网 (http://www.step365.com/) Powered by Discuz! X3.2