首页 > 其他 > 详细

性能测试-007-脚本从lr12移植到lr11 解决关联报错的问题

时间:2020-04-15 14:21:59      阅读:108      评论:0      收藏:0      [点我收藏+]

错误场景:

需要做一个登录的业务场景并发测试 在fiddler导出数据包之后在lr12中生成脚本并调试完成

在lr12中使用到了关联因为系统的登录有一个token

再将脚本移植到lr11中运行

Lr12中使用了:

    web_reg_save_param_attrib(

        "ParamName=CorrelationParameter",

        "TagName=input",

        "Extract=value",

        "Name=org.apache.struts.taglib.html.TOKEN",

        "Type=hidden",

        SEARCH_FILTERS,

        "IgnoreRedirections=No",

        LAST);

这一段进行关联

它对应的登录是这样的:

    web_submit_data("login.do",

        "Action=http://192.168.3.74:8080/ydzf_gx/login.do",

        "Method=POST",

        "RecContentType=text/html",

        "Referer=http://192.168.3.74:8080/ydzf_gx/login.jsp",

        "Snapshot=t3.inf",

        "Mode=HTML",

        ITEMDATA,

        "Name=method", "Value=authenticate", ENDITEM,

        "Name=needValicode", "Value=false", ENDITEM,

        "Name=needpriCode", "Value=false", ENDITEM,

        "Name=userid", "Value=longan", ENDITEM,

        "Name=org.apache.struts.taglib.html.TOKEN", "Value={CorrelationParameter}", ENDITEM,

        "Name=password", "Value=1", ENDITEM,

        LAST);

token的value属性被一个“CorrelationParameter”的值替代写到了web_reg_save_param_attrib这个函数中

但是“web_reg_save_param_attrib”这个函数在lr11中是不存在的

Lr11中能关联的函数只有:

web_reg_save_param 和 web_reg_save_param_ex

不支持“web_reg_save_param_attrib”这个函数   因此需要在lr11中手写关联

下面以:web_reg_save_param_ex为例

菜单栏Insert --- new step 打开add step 窗口 找到web_reg_save_param_ex函数 看到函数设置窗口:

技术分享图片

Prameter name: 此设置存放参数的名称。

Left boundary: 此处设置左边界,这里是用来填写关联对于数据处理的左匹配内容规则。

Match case :  默认情况下边界是检查Match case ,也就是检查大小写的。

Binary data : 如果要关联的内容是非ASCII 字符的,需要选择此项

Regular expression : 在LR11 中关联提供了使用正则表达式的功能,但是LR11 Patch3 中取消web_reg_save_param_ex 函数对此功能的设置。

Reight boundary: 此处设置右边界。

DFEs : 在录制选项和回放中我们提供了DFE的功能,在关联这里也支持DFE的数据处理。 (DFE等后面再解释,或你自行查资料)

Ordinal :  这个关键字在很多函数里面都有应用,在这里可以填写任意一个整数,也可以填All 。如果填写数字,那么说明从返回的记录中取出对应顺序的值,而填写All 的话将会返回所有内容。

Save Offset : 设置关联的内容偏移量,从第几位开始进行关联操作。

Save Length : 关联出来的内容所需要保存的长度。

Warm if text was not found (Default is Error) : 对于关联的对象不存在的处理。

Filters : 下面的选项都是帮助关联返回限定的,通过这些设置可以进一步减少返回的范围。

 

 

手写:(思路)

1.首先确定需要关联的内容。在登录的业务场景中一般是token值

2.在lr12中确定LB和RB的内容

3.把LB和RB的填写到lr11中的web_reg_save_param_ex函数中

如果你是手写web_reg_save_param_ex函数,需要对LR和RB的内容进行转义

在lr中需要转义的内容:

\b 退格            

\f 换页            

\n 换行            

\r 回车            

\t 水平制表            

\v 垂直制表            

\\ 反斜杠            

\? 问号字符        

\‘ 单引号字符            

\" 双引号字符             

\0 空字符

 

 

下面看实例:

 

1.首先在lr12中的design studio中找到需要关联的内容。点击“detail”

2.确定需要关联的内容:lr12已经帮你标记出

3.确定需要关联的内容左边和右边有什么,对应着LB和RB的值

也就是说:LB应该填name="org.apache.struts.taglib.html.TOKEN" value="

          RB应该填"></div>

这就是最原始的内容

但是上面提到了“转义”

根据转义的规则

 

name="org.apache.struts.taglib.html.TOKEN" value="被转义成:

name=\"org.apache.struts.taglib.html.TOKEN\" value=\"

 

"></div>被转义成:

\"></div>

技术分享图片

4.因此 我们的关联函数在lr11中就应该写成这样:

lr11中的关联函数

web_reg_save_param_ex(

        "ParamName=CorrelationParameter",

        "LB=name=\"org.apache.struts.taglib.html.TOKEN\" value=\"",

        "RB=\"></div",

        LAST);

5.校验是否成功:

检验很重要,不要漏掉

由于上面的例子我没有用到检查点。使用tomcat来确定登录、退出是否成功

技术分享图片技术分享图片

性能测试-007-脚本从lr12移植到lr11 解决关联报错的问题

原文:https://www.cnblogs.com/ZedOne/p/12704160.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!