• Jmeter进阶篇之逻辑控制器


    最近,遇到了一个困扰很多人的问题。情景如下:

    业务流程:登录一个网站,反复进行充值。

    通常的做法是使用jmeter对登录和充值的接口进行反复的执行:

    但是实现的方法却不能完美的贴合业务流程。并且,在进行压测的时候,总不可能把登录接口也一起压了吧。

    因此,就需要用到jmeter的逻辑控制器了。那啥是逻辑控制器呢?

    Jmeter官网对逻辑控制的解释是:Logic Controllers determine the order in which Samplers are processed。

    翻译一下:逻辑控制可以控制采样器(samplers)的执行顺序。

    那么,Show time!!!

    1、线程组->添加->逻辑控制器->仅一次控制器

    ps:如果是英文版的jmeter,Thread Group->add->logic Controller->Once Only Controller

    概念:测试计划执行期间,该控制器下的子结点对每个线程只执行一次

    2、在仅一次控制器下添加接口请求。到此,实现登录接口的一次运行

    (ps:由图可见,登录接口是在仅一次控制器下面的)

    3、线程组->添加->逻辑控制器->循环控制器

    ps:如果是英文版的jmeter,Thread Group->add->logic Controller->Loop Controller

    概念:指定其子节点运行的次数,可以使用具体的数值(如下图,设置为4次),也可以使用变量

    4、在循环控制下添加充值请求。并设置循环次数,到此,即实现了登录一次却循环执行了多次充值接口的目的。

    (ps:由图可见,充值接口是在循环控制器下面的)

     

    5、运行察看结果树,完美!

    !!!!!!!重点来了,老师敲黑板了阿!!!!!!!

    循环控制器:

    1、永远选项:勾选上这一项表示一直循环下去

    2、如果同时设置了线程组的循环次数和循环控制器的循环次数,那循环控制器的下面的接口运行的次数为两个数值相乘的结果。

    仅一次控制器:

    将仅一次控制器作为循环控制器的子节点,仅一次控制器在每次循环的第一次迭代时均会被执行。

    ============================================ PS ============================================
    • 个人工作wx:【NM2021712

    • 功能测试,自动化测试,性能测试,测试开发,测试架构方面的技术问题欢迎与加微与我交流,加时请备注下:博客园-亚萌
    请大家支持原创,尊重原创,如要转载,请注明出处:“转载自:https://www.cnblogs.com/zymnstlm”,谢谢!!有任何疑问,欢迎大家留言区艾特我。
  • 相关阅读:
    关于TCP/IP协议栈
    关于java socket
    批处理的高吞吐率和高延迟的解释
    关于Xmanager使用问题的总结
    关于Storm Stream grouping
    django url 传递多个参数
    多线程 python threading 信号量/递归锁
    多线程 python threading 简单锁/互斥锁
    django 1.9 wsgi + nginx
    django models ForeignKey Many-to-ManyField 操作
  • 原文地址:https://www.cnblogs.com/zymnstlm/p/10584419.html
Copyright © 2020-2023  润新知