思步网

查看: 12915|回复: 23
打印 上一主题 下一主题

[LR] 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的官方文档,大家下去可以自己看看


下一篇:代码行统计工具
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对
回复 论坛版权

使用道具 举报

大力支持
呵呵。。。LZ敢整点更有创意的不?
很有见地的探讨,先收藏着~
我了个去,顶了
很有见地的探讨,先收藏着~
看起来好像不错的样子
我也来顶一下..
众里寻他千百度,蓦然回首在这里!
很有借鉴意义,先收藏了,谢谢楼主。
有空一起交流一下。
还不错哦,如果再能多分享一些就perfect了!
向楼主学习
看了LZ的帖子,我只想说一句很好很强大!
确实不错,顶先
您需要登录后才可以回帖 登录 | 注册

本版积分规则

思步组织思步科技|思步网|火花学堂|思步文库|思步问答|思步英才|天下心
© 2007 思步网 浙ICP备10212573号-4(首次备案号:浙ICP备07035264号)|邮箱:service#step365.com(将#换成@)|服务热线:0571-28827450
在线培训课程|求职招聘|思步文库|官方微信|手机APP|思步问答|微博平台|官方QQ群|交流论坛|软件工程透析|关于我们|申请友链|
点击这里给我发消息     点击这里给我发消息
思步 step365 过程改进 CMMI中文 质量保证 质量管理 流程体系 需求跟踪矩阵 敏捷开发 Scrum 软件度量 项目评审 全员改进 流程管理 人力资源 6sigma 信息安全 ISO27001认证 IT服务管理 ISO20000认证 ISO9000认证 软件测试 SQA 配置管理 IPD 软件工程 PMP认证 PMP试题 PMBOK中文 精益研发 agile 顾问式管理培训
返回顶部