Jmeter的文件参数化:CSV数据文件设置和_CSVRead函数

一、CSV数据文件设置

1、简介

        CSV数据文件配置(CSV Data Set Config)可以将CSV文件中数据读入自定义变量中

        Jmeter中CSV数据文件配置的界面如下图所示:

         其中:

(1)文件编码

        文件的编码格式,与所选的CSV文件的编码格式保持一致,中文一般选UTF-8编码

(2)分隔符号(用'\t'代替制表符)

        根据CSV文件中的分隔符进行填写,默认:,

(3)是否允许带引号

           假如CSV文件中有一条数据值为”1,2“,以下分别是选”True“和”False“返回的结果

  • True:"1,2"
  • False:1,2

(4)遇到文件结束符再次循坏

        假如CSV文件中有5条记录,但线程组有10个

  • True:循环10次后,重头开始循坏取值
  • False:循环10次后,不会重头开始循环取值

(5)遇到文件结束符停止线程

  • True:当取完CSV文件中所有的值后,直接停止线程
  • False:当取完CSV文件中所有的值后,不会直接停止线程

(6)线程共享模式

  • 所有现场:CSV文件的变量可以被同一测试计划中的所有线程组引用
  • 当前线程组:CSV文件的变量只可以被当前线程组引用
  • 当前线程:CSV文件的变量只可以被当前线程引用

2、验证参数读取正常

(1)根据需要在新增的线程组下设置好配置元件——CSV数据文件设置,我的设置如下图所示:

(2)在同一个线程组下新增取样器——JSR233 Sampler,如下图所示:

        在代码框中输入的内容为:

log.warn("线程:"+ctx.getThreadNum()+";用例编号:"+vars.get("testID")+";用例名称:"+vars.get("test_name")+";请求方法:"+vars.get("test_method")+";请求url:"+vars.get("test_url")+";请求体:"+vars.get("test_msg")+";期望:"+vars.get("test_exp")+";备注:"+vars.get("test_other"));

 (3)日志级别设置为warm,如下图所示:

 (4)运行,查看日志信息

        !!!注意,这里CSV文件里有JSON格式的数据(即:{key:value}),如果在配置“CSV数据文件设置”的时候“是否允许带引号”选“True”,有时候(为什么说有时候呢?我这里会出现这个问题可能是因为pwd参数没有加双引号,格式不规范、不统一,后期把CSV文件里面JSON格式数据的键值都统一加上双引号后这个问题就没有复现了),运行后将无法读取到变量的值(如下图所示)

        解决方法:修改CSV文件的数据(在{}两侧都加上双引号 

3、验证遇到CSV文件结束符的配置

        (1)步骤同上面的(1)(2)(3),备注:我这里用作验证的CSV文件里面一共有6条数据

        (2)将线程组的线程数设置为7

(3)配置元件设置为遇到文件结束符号再次循环且不结束,运行

        !!!另外,补充一个点,取样器的名称应用用例编号的变量更易于辨别

 (4)配置元件设置为遇到文件结束符号再次循环且结束线程,运行 

 (5)配置元件设置为遇到文件结束符号不再次循环且不结束,运行

 (6)配置元件设置为遇到文件结束符号不再次循环且结束线程,运行

   (7)线程组的循环次数设置为2

   (8) 运行脚本

二、_CSVRead函数

1、选择函数

2、编辑参数配置

3、生成函数表达式

        点击“生成”按钮

4、生成变量

        在测试计划中添加自定义变量,注意此步可省略,省略的话用第5步的方法2

5、引用变量 

        对比之下,_CSVRead函数的功能会更少,比如不能过滤第一行、会一直循环读取文件数据

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-01-18 03:04:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-18 03:04:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-18 03:04:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-18 03:04:01       18 阅读

热门阅读

  1. Composer安装

    2024-01-18 03:04:01       32 阅读
  2. 前端开发常用的地址

    2024-01-18 03:04:01       38 阅读
  3. 低端单片机彩色屏幕的内存占用疑惑

    2024-01-18 03:04:01       28 阅读
  4. 2024-01-16 创业日记-关于用户需求分析-思考

    2024-01-18 03:04:01       24 阅读
  5. opencv通过轮廓点生成闭合图像

    2024-01-18 03:04:01       33 阅读
  6. repo工具是如何简化我们使用git的?

    2024-01-18 03:04:01       35 阅读
  7. uni-app 如何返回到指定的页面

    2024-01-18 03:04:01       25 阅读
  8. C++算法学习心得六.回溯算法(2)

    2024-01-18 03:04:01       30 阅读
  9. 代码随想录算法训练营第二十四天| 77.组合

    2024-01-18 03:04:01       31 阅读
  10. React16源码: React中调度之batchedUpdates的源码实现

    2024-01-18 03:04:01       24 阅读