• Extended-csv-dataset-config_Jmeter插件推荐


    前言:

            Jmeter默认的CSV参数化工具,由于缺乏自定义功能,数据按照顺序执行,在并发测试中始终是测试过程中绕不过去的坎,尤其是对多年loadrunner用户来说,这种上古的功能完全无法满足测试的需求!!!        

            直到发现了Extended-csv-dataset-config插件,Extended-csv插件,几乎实现了原loadrunner参数化设置的全部能力,暂时欠缺的是loadrunner所支持的数据更新在“每次迭代”还是“每次出现”。

    插件支持类型:

    下表是Extended-csv插件支持的参数设置类型,将在后面详细介绍并演示:

    Select RowUpdate valueOut of ValuesAllocate Block Size
    Sequential
    顺序的
    Each Iteration
    每次迭代
    Continue Cyclic
    继续循环
    NA
    Sequential
    顺序的
    Each Iteration
    每次迭代
    Abort Thread
    中止线程
    NA
    Sequential
    顺序的
    Each Iteration
    每次迭代
    Continue with Last value
    继续使用最后一个值
    NA
    Sequential
    顺序的
    Once
    一旦选择一直用当前值
    NANA
    Random
    随机的
    Each Iteration
    每次迭代
    NANA
    Random
    随机的
    Once
    一旦选择一直用当前值
    NANA
    Unique
    唯一的
    Each Iteration
    每次迭代
    Continue with Last ValueEnabled
    支持数据分块
    Unique
    唯一的
    Each Iteration
    每次迭代
    Continue CyclicEnabled
    支持数据分块
    Unique
    唯一的
    Each Iteration
    每次迭代
    Abort ThreadEnabled
    支持数据分块
    Unique
    唯一的
    Once
    一旦选择一直用当前值
    NANA

    参数设置介绍

    SequentialRandomUnique
    Each Iteration每次迭代从参数表中取下一个值每次迭代从参数表中随机取下一个值每次迭代从参数表中取一个唯一值
    Once每个线程在第一次迭代分配的值将用于后续迭代每个线程在第一次迭代随机分配的值将用于后续迭代每个线程在第一次迭代分配的唯一值将用于后续迭代

    配置介绍和演示

    线程组设置

    测试脚本

    1. String Extended = vars.get("Extended")
    2. String threadID = "${__threadNum}"
    3. sleep(1000)
    4. log.info("111threadID=="+threadID + " Extended==" + Extended)

     CSV文件

            1.Sequential+Each Iteration

    这里暂时不考虑,Allow Quote Data 和Sharing mode 的设置,后面详细介绍

    从log可以看出两个线程,都从A顺序取值,类似jmeter原始工具,当前方法可能造成并发异常

            2.Sequential+Once

    不推荐使用,尤其是多线程时,还是Unique+Once比较好

            3.Unique+Each Iteration

    当前应该是使用次工具最大的理由,实现了并发线程,不重复的迭代取值,在Auto Allocate 可以实现loadrunner类似的自动数据分组和手动分组

            4.Unique+Once

    Unique+Once设置,比较常见的使用场景,如在5并发时,使用固定的不重复的5条登录信息

            5.线程共享模式

    Allow Quoted Data / Sharing mode(允许引用数据/共享模式)

    插件作者并没有详细的介绍Allow Quoted Data功能,在脚本测试中发现,主要区别在于,多个线程组时,是否共享数据,对于一个线程组执行时,用处不大。

    并且需要配合Sharing mode使用当前线程组还是全部线程

    请看下面示例:

     

            6.Out of Values

    Out of Values与loadrunner一样支持三种模式

    Continue with Last Value:在所用数据用完后,一直使用最后一个参数,类似与A,B,C...用到J用完了,线程会一直J,J,J,J....下去
    Continue Cyclic:在所用数据用完后,重新从A开始循环
    Abort Thread:在所用数据用完后,终止线程,结束执行

    下载链接

    CSDN下载

    jmeterCSV插件ExtendedCSVdatasetconfig-系统安全文档类资源-CSDN文库

    也可留言,直接邮箱发你

    下载后放在

    ../apache-jmeter-5.4.3/lib/ext/di-extended-csv-1.1.jar
  • 相关阅读:
    [源码解析] TensorFlow 分布式环境(4) --- WorkerCache
    Mybatis的collection三层嵌套查询(验证通过)
    安阳旅游地图规划(未完成)
    SVA介绍
    模拟并发任务,观察多进程和多线程的cpu使用率(以及进程池的chunksize参数)
    deepin v20.6+cuda+cudnn+anaconda(miniconda)
    web 网页设计规范
    基于vue3和element-plus的省市区级联组件
    【Django】开发日报_3.3_Day:用户表的操作
    Flink SQL自定义表值函数(Table Function)
  • 原文地址:https://blog.csdn.net/weixin_39913716/article/details/126038784