LR的简单使用一

基本介绍(简单记录,有不正确的地方请指出)

功能:Analysis表示分析结果,Controller表示模拟测试场景,Virtual User Generator表示编写脚本

12966103-4af2edb797f26e7b.png


Virtual User Generator介绍

一、脚本创建

        第一步)

12966103-77195b200d1f4ae2.png

        第二步)选择需要的类型进行创建

12966103-9ca05ec6f275fae2.png

        第三步)创建成功之后会有init、action、end三个模块,分别对应初始化、逻辑、退出


12966103-a533a07c83107582.png

二、init、action、end三模块说明

        init表示初始化,意思是运行的时候首先执行此模块的代码(主要用于一些全局变量的定义,方便后面action模块直接使用)

        action表示逻辑部分,简单理解的话,无特别之处,也是写代码的地方。严格来讲,主要业务代码应该写在此模块

        end退出时执行的代码部分

        主要代码可以写在这三个模块中的任何一个模块中,一样可以实现功能,这里区分三个模块只是让代码更简单明了。init只考虑初始化相关的代码,action集中处理业务代码,end则是结束代码(比如说清除数据、缓存之类),以此完成一个完成的流程又很好地区分独立。

        以下说一个方便理解三模块的生活例子:比如说我们去吃自助餐,首先我们要报人数、交钱之类的,这个动作就可以对应init模块,在店里里面吃东西,登记的人可以不停 拿菜>>>吃菜 就相当于action模块所有的实际执行都在action里面,最后吃饱离开就相当于end。表示一个流程的完成


三、代码说明

Action()

{

//lr_rendezvous("集合点");    //设置集合点

web_custom_request("get_test", 

                       "URL=http://tp.chinafintech.com.cn/api/rtps/pay/query",  

                       "Method=post", 

                       "Resource=0", 

                       "RecContentType=application/json",

                       "Referer=",   

                       "Mode=HTTP", 

                       "EncType=application/json", 

                       "Body={\"trade_sdk_no\":\"10001661302017110790000001\"}", 

                        LAST); 

return 0;

}

        lr_rendezvous("集合点");表示用户数到达指定之后一起提交同时提交,一般用于测试峰值*(如500个用户同时提交的场景)

        URL参数表示发送的url

        Method参数表示请求方式(包括post和get)

        RecContentType表示发送参数的参数格式类型

        Body表示要发送的内容

如果服务器响应的中文值有乱码时,可以用一下代码进行转换响应值

web_reg_save_param("data","LB=","RB=","Search=All",LAST);//关联数据

lr_convert_string_encoding(lr_eval_string("{data}"),"utf-8","gb2312","enCodeAllresponse");//对关联数据进行转码

lr_output_message(lr_eval_string("{enCodeAllresponse}"));//输出转码后的数据


12966103-8c07c6e1ced89c59.png

正确执行结果


12966103-91acd2d665defd95.png

参数替换

第一步)可以使用动态参数,包括文件中读取、数据库中读取、XML、随机数等


12966103-c7e90969701b3be6.png

第二步)根据需要调整参数类型


12966103-5ef6013abb3ae069.png

第三步)再次运行显示替换参数


12966103-b9abca119eb8b207.png

第四步)文件有两列数据,每行数据是对应关系,如何正确取这两个参数呢?

        第一行的数据同上(重新设置分隔符按tab分隔),主要讲第二个数据如何取


12966103-147533fae4db4e35.png

运行结果,参数已经正确替换并前后匹配

12966103-ac9809a378e78b71.png


12966103-bf5a214db8d47021.png

参数文件截图


12966103-cb34a4a379a55872.png


脚本设置

        一般常用设置为运行时设置,点击   回放>运行时设置进入


12966103-c79da92284860cb0.png

迭代次数各个模块迭代执行的次数


12966103-bb618cee2a31a494.png

迭代间隔时间的设置


12966103-f03e0820bf9335bf.png

日志设置

        注意,标准日志没有参数替换(用了变量参数,多用于调试时看是否取对参数)显示


12966103-cc904ce84969e964.png


思考时间

        比如我们实际发空间动态时,在输入了内容之后不是立马点击发布,会查看一下,这个思考时间就是更加模拟实际情况(思考时间有多种概念,在ui自动化测试的时候,也会用到类似的,页面加载需要时间,如果不设置等待时间就会存在页面上一些控件未加载出来就去获取了,就会出现异常)。

12966103-8f3f686cd2a34f2f.png

发送错误时继续执行


12966103-6428bdcc2fee3f7b.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值