



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、LR手动关联参数化问题总结所谓的关联就是把脚本中某些写死的代码(hard-coded)数据,转变成截取自服务器所送的、 动态的、每次都不一样的数据。一般情况下,比较聪明的服务器在每个浏览器第一次跟它要数据时,都会在数据中夹带一个 唯一的辨识码,接下来就会利用这个辨识码来辨识跟它要数据的是不是同一个浏览器,一般 称这个辨识码为SessionlD。对于每个新的请求,服务器都会产生新的SessionlD给浏览器。 这也就是执行脚本会失败的原因,因为VuGen还是用旧的Session ID向服务器要数据,服 务器发现这个Session ID是失效的或者它根本不认识这个Session ID,当然就不会传
2、送正 确的网页数据给VuGen 了。要对付这种服务器,必须想办法找出这个Session ID到底是什么、位于何处,然后把它撷 取下来,放到某个参数中,并且取代脚本中有用到Session ID的部分,这样就可以成功骗 过服务器,正确地完成整个交易了。一、什么地方需要关联 凡是脚本每次执行时都必须获得唯一标识的地方都需要关联。假如脚本需要关联,如果不做 关联是不会执行通过的,也就是说会有错误消息发生。不过很遗憾,并没有任何特定的错误 消息是和关联有关系的。会出现什么错误消息,与系统实际的错误处理机制有关。错误消息 有可能会提醒用户要重新登录,但是也有可能直接就显示HTTP 404的错误消息。二、如
3、何做关联关联会用到下列的函数:1、web_reg_save_param;2、web_create_html_param;3、web_create_html_param_ex;其中, web_reg_save_param 的语法为:web_reg_save_param ( Parameter Name , , LAST );web_create_html_param和web_create_html_param_ex这两个函数主要是保留以兼容以前 旧版本。建议使用web_reg_save_param函数。那么,如何找出要关联数据呢?简单地说,每一次执行时都会变动的值,就有可能需要做关 联。VuGe
4、n提供两种方式帮助用户找出需要做关联的值:自动关联和手动关联。自动关联一般情况下比较简单,在此就不进行说明了,下面主要是总结手动关联时的一些方 法以及出现的一些问题的解决方式。三、手动关联总结1、正常情况下的手动关联: web_reg_save_param(SessionId,LB=value=,RB=,LAST);LR:所需截取字符串的左边界RB:所需截取字符串的右边界 如果左右边界中存在各种特殊字符,如双引号等,则需先用进行转义 一般情况下,如果所截字符串的左右边界比较唯一的话,可以直接用上面的方式进行获取 无需设置别的属性了。(“LAST ”是固定的ooo)2、如果进行关联后,有报错信息
5、,提示参数化未成功,有可能是以下几方面的原因:左右边界取值不正确,可以进入Generation log中,查看在关联的参数左右边界是否正 确关联函数的位置放置错误可以将log设置成输出Ext ended log。设置方法为:Vuser-Run- time Setti ngs-Log属性中,选中Ext ended log并选中下面三 个日志。在输出的日志中找到所要关联化的参数第一次的输出位置(注意是response返回的值,不 是 request 中的),对照左侧的脚本行数,将关联函数放在此行数之前,即可。3、关联没问题,运行时无报错,可就是得不到参数的值,可以从Ext ended log中找到
6、原因。 将Replay Log中的日志改为输出Ext ended log-Parame ter subs titution日志,再重新运 行一次,便可看到所关联参数的变化情况。有一次我在录制了 Flex协议的脚本后,将JSessionld做好手动关联,运行无任何错误,可 是将JSessionld打印时却得不到任何值,一直找不到原因,后来通过这种日志输出,看到 了 JSessionld的一个数据变化的过程,得知由于flex编码中含有十六进制数,在我需要截 取的参数前,有一串x04x00 x06,在获取参数时由于这一串数的影响无法获取到我 所需要的值,所以后来就将web_reg_save_para
7、m函数中一个属性SaveOffset设置为4才得 到了所需的字符串。SaveOffset 的用法为:当找到符合的动态数据时,从第几个字符开始才开始存储到参数中 此属性值不可为负数,其默认值为 0。4、另外一种设置方法可以使左右边界简单化针对jsp页面中,如果要获取form中的某个属性的值,如下面这段代码:form method=post name=frmLogoutdiv align=leftbr业务号:input type=text name=serviceId size=100 maxlength=20 value=brXML 数据:textarea name=data rows=10 c
8、ols=100/textareabrinput type=submit name二submit value二提交 onclick=dosubmit(1)input type=submit name二submit value二取消 onclick=dosubmit(2)brsessionId:input type=text name=sessionId size=100 maxlength=20 value=af0616ae-cbe7-412d-8965-1d33ba55fc3bbr想要截取到 sessionId 的 value 值,如果直接用左右边界截取,由于程序中的太多的 value, 所以
9、需要截取左边界为 name=sessionId size=100 maxlength=20 value=, 由于此边界的内容显示时有换行,所以如果以上面那一段内容作为左边界的话可能会有截取 不成功的情况,所以在这种情况下,我们可以采取以下方式: web_reg_save_param(SessionId,LB=value=,RB=,ORD=5,LAST);ORD 可以定位整个数据中取第几个值利用 ORD 属性,在左边界出现的第5 次时再进行截取。如果不确定自己所要截取的这段字符串是在第几次出现,那么可以先将ORD设置为ALL,然后通过Ext ended log-Parame ter subsi
10、tut ion日志,可以看到所有左右边界一致的截取的字符串数组,再确认自己所需截取 的字符串是在这个数组中的第几个位置,将ORD设置为几即可。5、如果某个参数关联成功,可是运行时却发现还会报错,那么可以考虑一下是不是因为有 别的值跟你所截取的这个参数相关联,随着那个值的变化,你所截取的这个参数也会进行某 一方面的变化,那样的话就需要将那个变化的值同样进行参数化。6、如何打印出参数值解决方法:利用lr_eval_string与lr_output_message这两个函数来打印出参数值。 例: lr_output_message(SessionId=%s,lr_eval_string(Parame
11、terName); 打印参数值这段代码所放的位置一定是在已经获取到参数值后,才可打印出来。四、参数说明:ParamName:存放动态数据的参数名称。list of Attributes:其他属性,包含 “Notfound” “LB” “RB” “RelFramelD” “Search”“ORD” “SaveOffset” “Convert” 以及 “SaveLen”下面将详细说明每个属性值的意义:1、Not found :指定当找不到要找的动态数据时该怎么处理。当指定 Notfound=error 时,表示着找不到动态数据时,就发出一个错误消息。此为该属性 的默认值。当指定Notfound=w
12、arning时,表示当找不到动态数据时,不发出错误消息,只发出警告, 脚本也会继续执行下去不会中断。在对脚本出错时,可以如此设置。2、LB:动态数据的左边界字符串。此属性是必须要有的,而且区分大小写。3、RB:动态数据的右边界字符串。此属性是必须要有的,而且区分大小写。4、RelFrameID:相对于URL而言,欲搜寻的网页的Frame。此属性可以是All或是数字, 而且可有可无。5、Search:搜寻的范围,其值可以是Headers (只搜寻headers)、Body (只搜寻body部分, 不搜寻header)、Noresource (只搜寻body部分,不搜寻header与resource)或是All (搜 寻全部范围,此为默认值),此属性可有可无。6、ORD:指明从第几次出现的左边界开始才是要撷取的数据,默认值是1。假如该属性值为 All,则所有找到符合的数据会存储在数组中。此属性可有可无。7、SaveOffset:当找到符合的动态数据时,从第几个字符开始才开始存储到参数中。此属 性值不可为负数,其默认值为 0。8、Convert:转换数据格式。当指定该属性值为HTML_TO_URL时,意味着将HTML-encoded 数据转成URL-encoded数据格式。如果是HTML_TO_TE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园家长预防幼儿肥胖健康讲座
- 夏日萤火虫课件
- 自动贴标机的工作流程
- 2025年环境影响评价工程师考试真题卷:环境影响评价工程师实务操作与法规应用
- 2025年小学语文毕业升学考试全真模拟卷(口语交际与综合实践)试题集
- 2025年会计职称考试《初级会计实务》内部控制与审计重点难点试题集
- 32的水管活结结构
- 2025年导游资格证考试笔试模拟试卷:导游旅游产品创新与设计试题
- 人工智能离散算法评价
- 罐笼安全规程讲解
- 应用PDCA管理工具提高病案归档率
- 果蔬自发气调包装原理与应用演示文稿
- DB43T 2428-2022 水利工程管理与保护范围划定技术规范
- SB/T 11016-2013足部保健按摩服务规范
- GB/T 4062-2013三氧化二锑
- 神经系统的结构与神经调节的基本方式 【知识精讲+高效备课】 高考生物一轮复习 (新教材)
- GB/T 15328-2019普通V带疲劳试验方法无扭矩法
- 马克思主义基本原理(完整版)
- 涉密人员脱密期管理制度
- 企业风险管理-战略与绩效整合(中文版)
- 三阶段DEA模型理论与操作步骤详解
评论
0/150
提交评论