jmeter组件:线程组

是什么?

  进程:一个正在执行的程序对应一个进程

  线程:进程中的执行线索(一个进程中有多个执行线索)

  线程组:按照线程性质对线程进行分组

 

  并发执行:多个线程同时进行    特点:执行结束的顺序和启动顺序不一定一致

  顺序执行:按照线程的启动顺序挨个执行

为什么?

  方便管理

怎么用?

  *  进程有多个线程组 线程组可以有多个线程

  进程 ----- 测试计划

  线程组 ----- 线程组

  线程 ----- 线程组属性的线程数

  *  默认情况下,线程组中的线程是并发执行的

     每一个线程都要执行组内的http请求

  *  怎么设置线程组顺序执行

    勾选测试计划的第一个复选框(独立运行每个线程组)

 

线程组 http请求:

  取样器-http请求(配置url 、提交数据)

  配置元件--信息头管理器(设置JSON对应的信息头 Content-type  application/json;charset=utf-8)

  查看结果数

 

线程组 优化:

  在测试计划下添加  配置元件--HTTP请求默认值:封装被复用的配置项信息,简化实现,提高效率

 

线程组 高级部分:

  线程数配置:3    模拟用户数

  时间值:10   在设置时间内启动所有线程组

  循环次数:2  单个用户访问的次数

  调度器:勾选 

    1)循环次数为 永远

    2)设置启动延迟 x 和持续时间 y

      在x秒后访问服务器,并且持续y秒

    3)设置启动时间 M 和 结束时间 Y

      在M时开始,在N时结束

    注意:2和3不能同时使用,否则矛盾

 

jmeter组件:参数化

是什么?

  动态获取并设置数据

为什么?

  比如执行批量操作时,批量插入或批量删除,之前数据都是手写的,每次执行完一次都要修改一次,效率太低

  参数化可以以程序代替人工获取并设置数据:安全+高效

 

参数化实现之CSV Data SetConfig(重点中的重点)

是什么?

  jmeter组件之一

为什么?

  通过这个组件可以动态获取并设置数据,实现类似批量添加操作(执行一次,将多条数据插入到数据库)

怎么用?

  实现思想:

    

    总结:

      1、编写添加框架,设置循环次数为3,JSON数据格式固定,值先不写

      2、编写一个外部的文本文档,存储要添加的三条数据

      3、Jmeter添加一个参数化组件CSV Data Set Config ,每次循环时都读取外部文档的一行数据,再将4个字段分别设置进提交的JSON数据中

  实现流程:

    1、循环次数:3

    2、body值不写“ ”

    3、创建一个文本文档,三条记录

    4、配置元件 -- CSV Data SetConfig, filename--相对/绝对路径  ,encoding--utf-8(与文档一致) , Deliter--字段分隔符(与文档一致), variable--值进行对应,输入变量名,在body中引用  ${变量名}

   其他:

    CSV Data SetConfig ---  CSV数据配置

    CSV ---  逗号分隔值文件格式

 

线程组:特殊线程组

  setup线程组:始终是最先执行的  -----   可用于资源加载操作(初始化)

  teardown线程组:始终是最后执行的  -----  程序正式关闭之前,可以将数据保存进内存