• DDT数据驱动性能测试(一)


    DDT 数据驱动测试

    • 数据驱动
      • 数据怎么来?
      • 怎么用数据?
    • 数据怎么来?
      • 用文本工具,批量造一批数据
        • 如用Excel
        • 问题:必须先注册,才能登录
      • 从数据库表中导出一份数据
        • 数据库导出
        • 问题:不能用于注册
      • 用注册接口造数据,后续登录…接口用这个数据
        • 先调用注册,然后调用登录
        • 问题:这个数据不能迭代第二次,只能用一次
          • 解决方法: 把这些数据写入本地文件

    • 怎么用数据?
      • 使用数据文件 ------ csv数据文件设置功能
    • csv格式:本身就是一个文本文件, 一种用逗号分割列的文本文件
    • csv数据文件设置 这个功能,支持的就是文本格式文件
      • 可以是 csv、txt、json

    csv数据文件设置

    • 强调: **csvRead函数**,尽可能不用
    • csv数据文件设置
      • 文件: 可以是 txt、csv
        • 路径:默认时是 绝对路径
          • 相对路径 -----建议使用相对路径

            • 相对路径的起始点?

              • 两个地方:
                • 默认的是 jmeter的bin文件夹 ----默认时,jmeter文件保存路径就是 bin文件夹

                • 当前保存的jmx文件

            • 相对路径的写法?

              • 两个地方:
                • 默认的是 jmeter的bin文件夹 ----默认时,jmeter文件保存路径就是 bin文件夹
                • 当前保存的jmx文件
            • 相对路径的写法?

              • 建议/ 开头 文件地址在这里插入图片描述
            • 如果路径取不到文件,整个jmeter就报错,不执行任何请求

              • 因为csv数据文件设置,是 配置元件 优先级最高
          • 文件格式,建议使用 txt

            • txt文件,在Windows下,默认是utf8编码
            • csv文件,编辑器很多时候用 Excel,Excel在Windows下保存文件时,默认不是utf8
              • 而csv数据文件设置,选择用utf8, 两个编码不一致,就会导致中文乱码
              • 解决: csv文件,不用 Excel打开,而用记事本

    • 文件编码:
      • 选择与你文件格式一致的编码
    • 变量名称:
      • 定义变量来接受读取的值
      • 定义多个变量名称,之间用英文逗号分割在这里插入图片描述在这里插入图片描述

    • 分割符:
      • 分割符合 要与 文件中的分割符一致在这里插入图片描述
      • 文件中用 tab键 分割列, 填 \t在这里插入图片描述

    • 忽略首行:选择False就是不忽略首行,选择True就是忽略首行。
    • 是否允许带有引号:
      • true: 忽略一对双引号(英文),单引号是不能忽略的。
    • 遇到文件结束符再循环?
      • true: 会循环——> 遇到最后一条数据,又会从头开始
      • false: 不会循环。超过这个行数后,就会是空值EOF
    • 遇到文件结束符停止线程?
      • false: 不停止线程
      • true: 停止线程,不干活
    • 线程共享模式:
      • 当前线程: ------所有的线程,都会单独读取一份csv文件,从自己读取的文件中读取值

    csv数据文件设置,默认情况下,所有的并发用户,都是从同一份文件串行的从上往下执行


    默认情况下,csv文件只读取了一次


    csv数据文件设置这个功能存在的问题: 在分布式执行性能测试时候,因为它是从第1行开始读
    取,所以所有的分布式机器也都是从第1行开始读取,导致重复读取同一行数据问题。

    逻辑控制器

    控制取样器执行的逻辑的,如果逻辑控制器下面没有取样器,这个逻辑控制器就没有意义

    if条件控制

    在这里插入图片描述


    • 满足条件执行下面的取样器
      • 默认情况下,条件需要使用 jexl3 或 groovy函数的运算结果为真true在这里插入图片描述
        在这里插入图片描述

    • 用表达式 :就要去掉 interpret condition as varibale expression
      在这里插入图片描述

    循环控制器
    在这里插入图片描述
    在这里插入图片描述

    foreach控制

    • 在jmeter中,有 一个取样器执行一次完成的请求,就算一个事物 ----单接口请求
    • jmeter中,多个取样器,完整的执行一次请求,也可以算一个事物 ----业务接口
  • 相关阅读:
    01-工具篇-windows与linux文件共享
    阿里云容器镜像服务的运维总结
    error C2632: ‘char‘ followed by ‘char‘ is illegal
    虚拟号码认证如何开通?
    企业实施ERP系统遇到的问题及应对措施
    分享几个小技巧教你图片怎么加边框
    Python 并发:全局解释器锁(GIL)及其对多线程的影响
    Crack【QCSPCChart】:SPC Control Chart Tools for .Net
    一篇文章告诉你什么python自动化测试xpath语法
    Nacos源码 (7) Nacos与Spring
  • 原文地址:https://blog.csdn.net/weixin_46356321/article/details/125403560