已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、什么是关联关联(correlation):脚本回放过程中,客户端发出请求,通过关联函数所定义的左右边界值(也就是关联规则),在服务器所响应的内容中查找,得到相应的值,已变量的形式替换录制时的静态值,从而向服务器发出正确的请求,这种动态获得服务器响应内容的方法被称作关联。也是把脚本中某些写死的数据,转变成动态的数据。什么内容需要关联:当脚本中的数据每次回放都发生变化时,并且这个动态数据在后面的请求中需要发送给服务器,那么这个内容需要通过关联来询问服务器,获得该数据的变化结果。例如: 1.登录字符串。带有会话 ID 或时间戳等动态数据的登录字符串。2.日期/时间戳。使用日期或时间戳或者其他用户凭据的任意字符串。3.常见前缀。后跟字符串的常见前缀,如 SessionID 或 CustomerID关联分为:自动关联、边录边关联、手动关联二、自动关联-Correlation Studio1.Correlation Studio:是执行脚本后才会建立关联。录制完脚本后须被执行过一次,Correlation Studio才会尝试找出录制与执行时,服务器响应内容差异部分,以找出需要关联的数据,并建立关联。缺点是无法对特殊规则动态进行关联。以录制注册百度用户脚本为例:1.录制脚本并回放脚本。2.按ctrl+f8扫描脚本并建立关联,扫描完后,可以在脚本下方的【Correlation Results】中看到扫描的结果,可以选择【All Action 】、【Current acton】或者 【current Step Only】选项,点击【Correlate】按钮进行关联。3.关联成功后切换到Script View视图,可以看到脚本多了关联函数web_reg_save_param_ex(),而关联出来的内容分别被保存到CorrelationParameter_1、 CorrelationParameter_2、 CorrelationParameter_3参数中去。如图:4.web_reg_save_param_ex()函数可以代替web_reg_save_param()函数。此函数搜索 Web 步骤中左边界后为字符串和右边界的服务器响应,并将字符串保存到函数实参中指定的形参。web_reg_save_param_ex(ParamName=CorrelationParameter_1, LB= value=,RB=rn【Correlation】中启用关联规则,则当录制这些应用系统的脚本时,VuGen会在脚本中自动建立关联。如图:四、用户自定义关联规则(User-defined Rules Correlation)在【 Recording Options】【Correlation】建立新的关联规则。点击【new Application】按钮建立关联,然后在这个应用下点击“New rule”按钮添加对应的关联规则。以录制登录Webtours订票系统为例:第一步,在Recording Options-Correlation中建立关联规则,单击New Application按钮,新建一个叫做lrwebtours的应用,然后在这个规则上单击New Rule 按钮新建一个规则,名叫usersessionid,为该规则填写左右规则,左边界为userSession Value=, 右边界为,确定后保存。如下图:2.开始录制webtours订票系统登录业务。3.录制完订票系统登录业务脚本后,可以发现系统已经自动按照规则生成了关联函数,运行脚本直接通过。手动关联是关联应用的最有效手段,通过函数web_reg_save_param()进行关联。web_reg_save_param()将想要的字符串保存到一个参数中。web_reg_save_param函数主要根据需要做关联的动态数据前面和后面固定字符串来识别、提取动态数据,所以在关联时需要找出动态数据的左、右边界字符串。Web_reg_save_param函数格式:web_reg_save_param(const char*ParamName,LAST参数名参数说明ParamName存放动态数据的参数名称List of Arrtributes其它属性,包含Notfound、LB、RB、RelFrameID、Search、ORD、Saveoffset、Convert以及SaveLenNOTfound指定当找不到要找的动态数据时该怎么处置。notfound=error:当找不到动态数据时,发出一个错误信息,此为loadrunner的默认值。notfound=warning:当找到动态数据时,不发出错误信息,只发出警告,脚本也会继续执行下去不会中断。LB动态数据的左边界字符串,该参数为必选参数,而且区分大小写。要忽略大小写,请在边界之后添加“/IC”。如果在边界之后指定“/BIN”,则指定为二进制数据RB动态数据的右边界字符串,该参数为必选参数,而且区分大小写。要忽略大小写,请在边界之后添加“/IC”。如果在边界之后指定“/BIN”,则指定为二进制数据ORD此可选参数表示匹配的序号或出现的次数,该参数为必选参数,默认值是1。如果指定“All”,是将所有找到的动态变量保存到数组中。Search搜索的范围,可以是headers(只搜寻页眉)、body(只搜寻正文部分,不搜寻页眉)、Noresource(只搜寻正文部分,不搜寻页眉与resource部分)或是all (搜寻全部范围),该参数为可选参数RelFrameID与请求的URL相关的HTML页的框架结构层次级别。可以为ALL或数字Saveoffset设置关联的内容偏移量,从第几位开始进行关联操作。此属性值不可为负数,默认是0Convert可能的值有两种。HTML_TO_URL:将HTML-encoded数据转成URL-encoded数据格式。HTML_TO_TEXT:将HTML-ecncoded数据转成纯文字数据格式。Save length关联出来的内容所需要保存的长度。从offset开始算起,到指定长度内的字符串,才储存到参数中,该参数为可选参数,默认值是-1,表示储存到结尾整个字符串。关联函数的注意事项:1.关联函数是一个注册函数,必须写在请求前,否则就会提示无法获得关联结果的错误。2.保存参数最大不能超过256字节,如果超过256字节请使用int web_set_max_html_param_len (const char *length )函数扩大参数保存范围。例如:web_set_max_html_param_len (“1024”); /扩大参数最大保存范围为1024字节。3.如果输入的内容里面有双引号,那么需要通过转义符来进行处理,转义符为。Web_reg_save_param(“param”,“LB=”左边界”,“RB=”,LAST);4.关联函数的作用一种规则将服务器的返回保存到一个参数中,所以为查看参数的内容,应勾选参数取值的Extended log日志的三个选项。运行脚本查看Reply log日志,会看到蓝色参数值罗列出来”Notify:saving Parameter =“,后面都是被关联到的服务器返回关联值。5. 动态数据需要关联的服务器返回信息一般都保存在HTML正文中。所以关联函数中设置将search in=Noresource,也就是只需要关联HTML、XML等资源。6.修改关联函数:1.直接在代码上直接修改,2切换到tree模式,双击关联函数进行修改。7.整个HTTP请求分为两段,一段是开头的HTTP头数据包,叫做header,另外一段就是HTML页面,叫做body。8.关联函数转义符:转义符号说明bBackspace键f换页n换行r回车t水平制表符v垂直制表符单引号标记双引号标记反斜杠?文本问号关联操作步骤:第一步:录制两份相同的业务流程的脚本,输入的数据要相同第二步:用winDiff工具,找出两份脚本之间不同之处,确定需要关联的动态数据,在请求返回中找到动态数据的左右边界第三步:用web_reg_save_param()函数手动建立 关联,将脚本中用到关联的数据参数化,将关联的值提供给后续请求页面使用。以录制登录Web tours 系统为例:1.录制两份相同的登录Web Tours网站脚本2.用WinDiff工具,找出两份脚本之间的不同,也就是需要关联的数据。(1)用 lr打开第二份脚 本,依次选择toolscompare with vuser项,在弹出对话框中选择第一份脚本。(2)用lr调用WinDiff工具,显示两份脚本, WinDiff工具会以一整行黄色标示显示有差异的脚本代码行。可以看到有三处不一样,第一处是userSession,另外二外是点击按钮时的x,y坐标。 lr_think_time思考时间不同,可以忽略。如图:(3)在Generation log中打开find对话框,粘贴userSession的值,查找在Generation log出现的位置。如果在Generation Log中找到了要找的数据,这时要确认是从服务器端传送过来的数据。如图: 如果出现在$ Request Header For Transaction With Id 3 Ended $这个部分,那证明是客户端发出的请求,这里是不需要做关联的 一般做的关联都是出现在* Response Header For Transaction With Id 7 *和* Response Body For Transaction With Id 7 *中的部分。3.确认插入关联的位置关联函数写到发出请求的函数之前,我们将关联函数插入在Web tours登录页面:4.插入关联函数(1)通过设置左右边界字符串,找出变化的数据(即需要做关联的数据)并将其储存在一个参数中,以供后续脚本使用。我们设置登录web tours脚本userSession的左边界为userSession value=,右边界为,search=body,ord=3,如图:(2)插入关联函数。1.右键选择“Insert-New Step” 在弹出的“add step”对话框的“find function”中输入在“Parameter name”中输入关联函数的名称 “usersessionid”在“Left Boundary”中输入“userSession value=”在“Right Boundary”中输入“”在“Search in ”中选择“body”在“Instance”输入“3”点击“ok”即可。如图:5.将脚本中有用到关联的数据,用参数代替将原来服务器返回的userSession动态值使用u
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年社区家庭护理题库及答案
- 古诗鉴赏表达技巧方法
- 呼吸内科病人宣教
- 2025国开-儿童发展问题的咨询与辅导-案例1-5问题及答案
- 2025年瑞昌社区招聘真题及答案
- 自我评估与调整
- 2025年客服服务模考试题及答案
- 2025年时政考试题库及解析答案
- 鹰潭市中医院晋升高级会计师正高级会计师专业技术评聘试题
- 丽水市人民医院肿瘤伤口处理考核
- 税务局国考行测题库及答案详解(各地真题)
- 数学2025-2026学年人教版(2024)数学八年级上册期中必考题检测卷
- 2025成考英语词汇必背3500词
- 2025中医技能考试题及答案
- 质量控制流程梳理与执行标准
- 2025中科芯集成电路有限公司校园招聘笔试历年参考题库附带答案详解(3卷合一)
- 全运会简介教学课件
- 产品预购合同(标准版)
- 铁路工作安全培训课件
- 水泥厂设备巡检规程
- 2025年小学心理健康学科新课程标准考试测试卷
评论
0/150
提交评论