ImageVerifierCode 换一换
格式:DOC , 页数:8 ,大小:258KB ,
资源ID:7975518      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/7975518.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【xrp****65】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【xrp****65】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(织雀教育灵活运用LR函数编写测试脚本.doc)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

织雀教育灵活运用LR函数编写测试脚本.doc

1、灵活运用LR函数编写测试脚本想获取更多测试资料,请访问织雀教育官网。对于一些刚学loadrunner的朋友来说,会经常遇到这样一些问题:(1)对于服务器返回的动态数据,不知道如何使用关联函数进行取值。(2)正确关联动态数据后,不知道如何对关联的数据进行字符串操作。(3)脚本回放不成功,不知道到底是哪里出现了问题,无法去进行有效的脚本调试。至于第一个问题,如果你不懂,建议去网上下载相关的资料读上一百遍。本文将针对后面二个问题,结合笔者以前做过的实际案例,使用两种方法实现一些相对较复杂的动态数据关联,并如何灵活运用LR函数对这些关联后的数据进行随心所欲的操作。1 案例背景银行的内部评级系统,其中有

2、一个页面,如图:开发人员在设计查询条件时,没有唯一识别表格记录的客户编号字段,而且表格中的记录使用一次后,就会自动删除,这样就直接导致代码回放失败。如果换成其他的客户编号,那么它在表格中的位置可能与录制时不同,关联的数据可能错误,并不是该客户对应的数据,代码也会运行失败。但是我通过查看页面源文件,注意到这样一个特点:每个客户编号对应代码中的动态数据(需要关联的数据)都是有规律的出现。有了这个特点,我们可以通过以下步骤实现正确取值:(1)利用关联函数,设置函数属性Ord均为ALL,取出所有满足边界值的数据。(2)利用for循环和if判断语句,找出我们需要的客户编号在页面列表的第几行。(3)利用客

3、户编号与其对应的数据的规律(关联函数中的Ord值规律),找出客户编号对应的关联数据值,如图:关联函数中的Ord值规律对应表格中第几行数据KeHuBianHao_tempTYPE_tempPROCESSINSTID _tempSS_tempChuShenYuan_temp第一行 10 1 2 22 61第二行8*1+103*1+13*1+24*1+2212*1+61第三行8*2+103*2+13*2+24*2+2212*1+61.(4)利用sprinf函数和lr_save_string函数,将找出的关联数据变量转化成LR参数。2 步骤实现的部分代码(建议:文中的代码使用VuGen查看)根据案例背

4、景中分析的步骤,下面我使用两种方法实现。方法一:充分利用函数sprintf、lr_save_string、lr_eval_string进行字符串操作。代码如下:web_reg_save_param(KeHuBianHao_SUM,LB=,RB=客户评级,Snapshot=t9.inf,Mode=HTML,ITEMDATA,Name=VD_WFList_FP/DEPTCODE/criteria/value, Value=, ENDITEM,Name=VD_WFList_FP/FIRCODE/criteria/value, Value=, ENDITEM,Name=VD_WFList_FP/PRE

5、STATE/criteria/value, Value=, ENDITEM,Name=VD_WFList_FP/OPERATORNAME/criteria/value, Value=KHJL, ENDITEM,Name=VD_WFList_FP/OPERATORNAME/criteria/operator, Value=like, ENDITEM,Name=VD_WFList_FP/OPERATORNAME/criteria/likeRule, Value=center, ENDITEM,Name=Submit, Value=查询, ENDITEM,LAST);for( xunhuan = 1

6、0;xunhuan atoi(lr_eval_string(KeHuBianHao_SUM _count);)sprintf(buffer, KeHuBianHao_SUM _%d,xunhuan);if ( strcmp( buffer ,lr_eval_string(KeHuBianHao) ) /diedai初始值为0TYPE_SUM_diedai = 3 * diedai + 1; PROCESSINSTID _SUM _diedai = 3 * diedai + 2;SS_SUM _diedai = 4 * diedai + 22;ChuShenYuan_SUM _diedai =

7、12 * diedai + 61;elselr_error_message(分派员在第%s次循环时无法找到待分派的客户编号:%s, lr_eval_string(Itetation),lr_eval_string(KeHuBianHao);lr_exit(LR_EXIT_ITERATION_AND_CONTINUE,LR_FAIL);diedai += 1;xunhuan += 8;sprintf(TYPE_temp, TYPE_SUM _%d, TYPE_SUM _diedai );lr_save_string(lr_eval_string(TYPE_temp),TYPE_VAL);spri

8、ntf(PROCESSINSTID _temp, PROCESSINSTID _SUM _%d, PROCESSINSTID _SUM _diedai); lr_save_string(lr_eval_string(PROCESSINSTID _temp),PROCESSINSTID_Val);sprintf(SS_temp, SS_SUM_%d, SS_SUM_diedai); lr_save_string(lr_eval_string(SS_temp),SS_VAL);sprintf(ChuShenYuan_temp, ChuShenYuan_SUM _%d, ChuShenYuan_SU

9、M _diedai); lr_save_string(lr_eval_string(ChuShenYuan_temp),ChuShenYuan);/*选择初审员,点击分发*/web_submit_data(irs_workflow2.pr.prWF_FP_ToNext.do, Action=http:/182.119.171.149:9085/irs_workflow2.pr.prWF_FP_ToNext.do?PROCESSINFO/OPERATE=-1,Method=POST,TargetFrame=,RecContentType=text/html,Referer=http:/182.1

10、19.171.149:9085/irs_workflow2.pr.prWFWorkList.do,Snapshot=t10.inf,Mode=HTML,ITEMDATA,Name=VD_WFList_FP/PRESTATE/criteria/value, Value=, ENDITEM,Name=VD_WFList_FP/FIRCODE/criteria/value, Value=, ENDITEM,Name=VD_WFList_FP/OPERATORNAME/criteria/value, Value=KHJL, ENDITEM,Name=VD_WFList_FP/OPERATORNAME/

11、criteria/operator, Value=like, ENDITEM,Name=VD_WFList_FP/OPERATORNAME/criteria/likeRule, Value=center, ENDITEM,Name=VD_WFList_FP/DEPTCODE/criteria/value, Value=, ENDITEM,Name=VD_WFList_FP/PREVALID, Value=1, ENDITEM,Name=processinfolist/PROCESSINFOtype=TYPE_VAL/PROCESSINSTID, Value=PROCESSINSTID_Val,

12、 ENDITEM,Name=processinfolist/PROCESSINFOtype=TYPE_VAL/WORKITEMID, Value=TYPE_VAL, ENDITEM,Name=SS_VAL, Value=0 , ENDITEM,Name=processinfolist/PROCESSINFOtype=TYPE_VAL/OPERATORID, Value= ChuShenYuan , ENDITEM,LAST);从以上代码,我们可以看出:(1)先通过for循环,遍历所有的客户编号关联值,在每次循环时,使用sprintf函数将客户编号(KeHuBianHao_SUM _xunhua

13、n)转化成LR变量buffer。(2)然后使用if判断buffer与正确的客户编号是否相等,找出正确的客户编号需要的迭代次数(daidie)。(3)根据if判断出的daidie值,以及各关联值Ord的规律,确定出各参数的Ord值。(4)再使用sprintf、lr_save_string函数,将各关联变量值转化成LR参数为TYPE_VAL、PROCESSINSTID_Val、SS_VAL、ChuShenYuan。方法二:充分利用函数sprintf、lr_eval_string进行字符串操作。代码如下:for( xunhuan = 10;xunhuan atoi(lr_eval_string(Ke

14、HuBianHao_SUM _count);)sprintf(buffer, KeHuBianHao_SUM _%d,xunhuan);if ( strcmp( buffer ,lr_eval_string(KeHuBianHao) ) /diedai初始值为0TYPE_SUM_diedai = 3 * diedai + 1; PROCESSINSTID _SUM _diedai = 3 * diedai + 2;SS_SUM _diedai = 4 * diedai + 22;ChuShenYuan_SUM _diedai = 12 * diedai + 61;elselr_error_me

15、ssage(分派员在第%s次循环时无法找到待分派的客户编号:%s, lr_eval_string(Itetation),lr_eval_string(KeHuBianHao);lr_exit(LR_EXIT_ITERATION_AND_CONTINUE,LR_FAIL);diedai += 1;xunhuan += 8;sprintf(TYPE_temp, TYPE_SUM _%d, TYPE_SUM _diedai ); sprintf(PROCESSINSTID,Name=processinfolist/PROCESSINFOtype=%s/PROCESSINSTID, lr_eval_s

16、tring(TYPE_temp);sprintf(WORKITEMID,Name=processinfolist/PROCESSINFOtype=%s/WORKITEMID, lr_eval_string(TYPE_temp);sprintf(WORKITEMID_Value, Value=%s, lr_eval_string(TYPE_temp);sprintf(PROCESSINSTID _temp, PROCESSINSTID _SUM _%d, PROCESSINSTID _SUM _diedai); sprintf(PROCESSINSTID_Value, Value=%s, lr_

17、eval_string(PROCESSINSTID _temp); sprintf(SS_temp, SS_SUM_%d, SS_SUM_diedai); sprintf(SSVal, Name=%s, lr_eval_string(SS_temp); sprintf(ChuShenYuan_temp, ChuShenYuan_SUM _%d, ChuShenYuan_SUM _diedai); sprintf(OPERATORID_Value, Value=%s, lr_eval_string(ChuShenYuan_temp);/*选择初审员,点击分发*/ web_submit_data(

18、irs_workflow2.pr.prWF_FP_ToNext.do, Action=http:/182.119.171.149:9085/irs_workflow2.pr.prWF_FP_ToNext.do?PROCESSINFO/OPERATE=-1, Method=POST, TargetFrame=, RecContentType=text/html, Referer=http:/182.119.171.149:9085/irs_workflow2.pr.prWFWorkList.do, Snapshot=t10.inf, Mode=HTML, ITEMDATA, PROCESSINS

19、TID , PROCESSINSTID_Value, ENDITEM, WORKITEMID , WORKITEMID_Value, ENDITEM, SSVal , Value=0 , ENDITEM, OPERATORID , OPERATORID_Value, ENDITEM, LAST);从以上代码,我们可以看出:方法二没有使用lr_save_string将LR变量转化成参数,而是两次使用sprintf函数构造LR变量PROCESSINSTID、PROCESSINSTID_Value、WORKITEMID、WORKITEMID_Value、SSVal、OPERATORID、OPERAT

20、ORID_Value,并直接作为web_submit_data函数中的ITEMDATA。3 知识总结(1) 关联函数web_reg_save_param的使用方法,重点理解其中一个属性Ord值。它表示第几次出现的左边界子串的匹配项才是需要的内容。该属性可有可无,缺省值是1。如为All,则将所有找到的内容储存起来。本文中的全部关联Ord设置为All,因为Ord不确定。只有先全部取出,然后通过判断取出我们需要的值。(2) 如何找出各关联值之间的联系,即本文中的Ord值规律。其实找出这个规律很简单:第一步:大家可以先设置关联函数的Ord值为All, 第二步:在调试代码之前,设置run-time se

21、tting中的Log为Extended Log及parameters substitution, 第三步:运行代码,从Replay log中记录每一个有效的关联值的Ord值, 通过以上三步,就可以找出Ord值规律。不信,您可以试试,会有惊喜!(4)lr_save_string函数的使用方法。它的功能是将LR代码中的常量或变量保存为lr中的参数。具体的函数用法,我就不讲了,详见LR中help文档。(5)LR中常用的字符串操作的函数。具体有以下几个常见的函数:strcpy、strcat、strcmp、itoa、atoi、atof、atol。这里值得注意的是atof、atol在使用之前一定要先对其进

22、行声明,具体使用方法,请参考LR中help文档。(6)lr_eval_string函数的使用方法。任何C的变量都不能被LR的函数直接调用,应该用lr_eval_string来取值。(7)sprintf函数的使用方法。它是一个格式化输出函数,格式化输出到字符串中。(8)在文中的第二种方法中,我们将多个LR变量值直接运用到web_submit_data函数的ITEMDATA中,这样大大简化了代码,使得代码有更强的可读性。(9)从文中关于关联函数的使用,我们可以延伸出其他用法:第一种延伸:可以通过关联取出满足左边界值的最后一个值,具体代码如下 web_reg_save_param(Param , L

23、B= , RB= , Ord=ALL , LAST); web_url(HomePage, URL=, LAST);Sprintf( Last_Param , ”Param_%s” , lr_eval_string(“Param _count”);lr_output_string(“Param的最后一个值为:%s” , Last_Param); 第二种延伸:可以通过关联取出满足左边界值的随机值,具体代码如下: char i = NULL; int j = 0; web_reg_save_param(Param , LB= , RB= , Ord=ALL , LAST); web_url(Hom

24、ePage, URL=, LAST); j = atoi(lr_eval_string(Param_count);sprintf(&i, %d, ( 1 + rand() % j);lr_save_string(&i, random_value);temp = lr_eval_string(lr_eval_string(Param_random_value);lr_save_string(temp, Random_Param);lr_output_string(“Param的一个随即值为:%s” ,lr_eval_string(Random_Param);(10)关于代码调试。在编写测试代码时

25、,会遇到很多难以预料的问题,比如说,使用盗版LR的原因、测试机的原因、人为的原因等等,都会导致代码运行失败,而且有些失败原因是无法在Replay log呈现的,我们仅仅从代码本身去定位问题是很难的。像遇到这种情况,笔者比较偏爱几个日志打印函数:lr_output_message、lr_log_message、lr_message。通过这几个函数,我们可以时时跟踪代码走向,步步跟踪变量值的变化情况,做到运行脚本有的放矢,一切都在自己掌握之中。4 结束语本文介绍的所有这些函数使用技巧,在网络中都可以很容易地查到,笔者只是根据自己的使用经验,结合实际案例,把一些网络上零散的、常用的、有用的东西进行了概括总结。或许本文对你毫无价值,那就当做是一个乐子,一看而过罢了;或许对于一些LR新手和一些不太熟练操作LR函数的朋友来说,本文对你们会有很大的启发,笔者希望对你们以后学习loadrunner有一定指导意义,共同推进国内测试的发展。

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服