51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 962|回复: 0
打印 上一主题 下一主题

[转贴] 【涨薪技术】 LR录制回放&事务&检查点 从0-1的技巧

[复制链接]
  • TA的每日心情
    无聊
    2024-7-11 13:41
  • 签到天数: 33 天

    连续签到: 1 天

    [LV.5]测试团长

    跳转到指定楼层
    1#
    发表于 2023-12-4 14:32:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 热情的绿洲 于 2023-12-4 16:29 编辑

    前言
    上一次推文我们分享了性能测试分类和应用领域,今天带大家学习性能测试工作原理、事务、检查点!后续文章都会系统分享干货,带大家从0到1学会性能测试

    01、LR工作原理
    ​通常我们认为LoadRunner是由三部分组成:VuGen、Controller、Analysis
    VuGen:录制与增强脚本的地方,即将我们的操作行为变成代码;
    Controller:模拟多用户执行脚本,相当于模拟多用户口对服务器进行操作;
    Analysis:将运行时的结果保存到EXCEL表中,然后再将数据读取出来,并以视图的方式来显示;
    也人会说LoadRunner工作是由4部分组成;

    02、录制与回放原理
    LoadRunner在录制过程中其实是将所有客户端向服务器发送的请求变成了函数,由函数来代替人向服务器发送请求。
    之所以需要在录制时选择协议,是因为LoadRunner一定要能看的懂客户端向服务器所发送的数据内容,如果LoadRunner看不懂客户端向服务器发送的数据,那么LoadRunner就无法生成代码。
    而生成的代码所看的内容,其实与抓包所看到的内容是一样的。
    所以我们通常说性能测试是基于协议录制,自动化测试是基于对象属性录制。
    LoadRunner录制的方式有两种:一是基于HTML录制;二是基于URL录制
    HTML模式:基于用户行为录制;
    URL录制:将所有的HTTP请求都录制下来;
    03、事务
    • 为什么需要插入事务



    正常我们录制好的脚本是不能获取业务的响应时间的,所谓的业务响应简单的来说就是我们一串操作步骤的响应时间。
    为了获取这个响应时间我们会在操作前插入开始,操作结束后插入结束事务,通过可以获取业务的响应时间。
    • 如何插入事务



    插入事务的方法有两种:
    一是:录制过程中插入事务;
    二是:录制后插入事务;
    一般建议在录制过程中插入事务,因为录制后插入事务,如果对代码不是很熟悉的话,那么很容易把位置插入错了,这样会导到得到的响应时间不对。
    插入事务后会生成以下代码:
    1. <font size="3"><font size="3" color="#000000"><font size="3">//开始事务
    2. lr_start_transaction("LOGIN");
    3. .....
    4. //结束事务
    5. lr_end_transaction("LOGIN", LR_AUTO);
    6. 当运行开始事务时,loadrunner会计时,运行到结束事务时loadrunner也会计时
    7. 将结束事务时的计时减去开始事务的计时,所得到的时间差即为事务的响应时间。
    8. 其实就是计算开始事务到结束事务这段请求所消耗的时间</font></font></font>
    复制代码
    • 事务的结束状态



    事务的结束状态有四种:LR_AUTO、LR_PASS、LR_FAIL、LR_STOP
    1. <font size="3">LR_AUTO:LoadRunner自动判断事务的结束状态

    2. LR_PASS:运行结果为通过状态

    3. LR_FAIL:运行结果为失败状态

    4. LR_STOP:运行结果为停止状态</font>
    复制代码

    之所以结束事务有结束状态的要求,是因为通过结束状态可以来确定事务是否成功,即业务是否成功。最后可以计算出业务成功率。
    那么如何确定事务的结束状态呢?正常应该是先做检查点,通过检查点的结果来判断业务是否成功。
    04、检查点
    • 如何插入检查点



    插入检查点的步骤如下:
    1.将代码切换为tree模式,在tree模式下,显示请求的信息有两种方式:
    一是:html viewer;
    二是:httpviewer
    2.找到需要验证的页面
    3.选择我们需要检查的内容,单击右键,选择“add text check”
    4.在弹出的find text对话框中,输入相关信息
    • 如何通过检查点判断事务的结束状态



    通过检查来判断被检查的对象出现的次数,如果出的次数大于说明,至少找到一次,则说明业务是成功的,否则业务为失败。
    1. <font size="3"><font size="3" color="#000000"><font size="3">if(atoi(lr_eval_string("{num}")) > 0)
    2. {
    3. lr_end_transaction("LOGIN", LR_PASS);
    4. }
    5. else
    6. {
    7. lr_end_transaction("LOGIN", LR_FAIL);
    8. }</font></font></font>
    复制代码
    • 检查点函数



    1. <font size="3"><font size="3" color="#000000"><font size="3">检查点函数语法:
    2. int web_reg_find( const char *attribute_list, LAST );
    3. 参数说明:
    4. Text:表示需要查找的内容;
    5. Search:表示所查找的内容所出现的位置,在哪个部分去查找我们要的内容。有三个选项:Body、
    6. Headers、All,一般情况都是在Body,默认选项为Body。
    7. SaveCount:将匹配到的次数保存在这个变量中。</font></font></font>
    复制代码

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-22 04:16 , Processed in 0.065534 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表