Jmeter配置元件——CSV DataSet Config参数化

时间:2020-11-27 23:13:51

在聊CSV DataSet Config配置元件前,先来讨论下为何要参数化?

比如在做性能测试过程中, 一般我们需要模拟多个用户进行操作, 为了满足实际场景, 模拟真实的用户行为, 我们需要做到模拟的用户帐号或其它信息都是不同的, 这时我们就需要用到参数化。 Jmeter中, 配置元件可以解决此问题。

前言

Jmeter配置元件可以用来进行参数化、 初始化默认值和变量、 存储服务器的响应信息以及配置链接数据库等。 JMeter参数化一般使用配置元件中的CSV DataSet Config或者JDBC ConnectionConfiguration来进行参数化。今天,先来使用CSV DataSet Config进行参数化。

CSV Data Set Config元件:

该元件可以用来读取csv或dat文件的数据,然后通过设置把读取到的数据关联到Jmeter中的变量保存,csv文件可以使用execl表格工具去进行编辑。分两种文件来讲解:txt文件和csv文件。

基础配置

界面字段说明:

名称、注释与之前元件一样可以随意设置。

Filename:指保存信息的文件目录,可以相对或者绝对路径,相对路径从Jmeter的启动目录(***/bin)路径。

File Encoding:文件编码,默认为ANSI,建议设置为utf-8,防止遇见乱码情况。

Variable Names:参数名称,每个名称中间用分隔符分割,分隔符使用下面的“Delimitet”中定义的,默认用逗号隔开,与参数文件的参数对应。如果设置的参数名称多于参数文件中的参数,多余的参数取不到值;反之参数文件中的参数将没有参数对应。

Delimitet:定义分隔符,用于分隔文件中的参数,及上述Variable Names中定义的参数名称。

Allow Quoated data?:是否允许引用数据,设置为True ,设置文件中的参数值都必须用引号引起来,False则不需要

Recycle on EOF ?:遇到文件结束符时,是否从头开始循环读入,设置为True,则从头开始继续循环

Stop Thread on EOF ?:当Recycle on EOF 设置为False并且Stop Thread on EOF为True,则读完csv文件中的记录后, 停止运行

Sharing Mode:参数文件共享模式,有三个设置,说明如下:

All threads:参数文件对所有线程共享,包含同一测试计划中的不同线程组。

Current thread group:只对当前线程组中的线程共享。

Current thread:仅当前线程获取。

界面如下图所示:

Jmeter配置元件——CSV DataSet Config参数化

配置元件添加路径如下所示:

Jmeter配置元件——CSV DataSet Config参数化

参数化

我们已经基本了解了该配置元件,那就来实践一番。

参数化一:csv文件

如何配置csv文件?

新建一个xls文件,再另存为csv文件即可。

这个很简单,我们主要是来看如何引用csv文件,而达到参数化的效果。

①配置界面

我们先来看配置界面,如下所示:

Jmeter配置元件——CSV DataSet Config参数化

需要注意的是,file encoding文件编码填写的是GB2312,不是utf-8,需要格外注意,不然就会出现乱码的现象,如下所示:

Jmeter配置元件——CSV DataSet Config参数化

②准备csv文件

文件内容填写如下:

Jmeter配置元件——CSV DataSet Config参数化

③引入参数化

我们在配置界面填写的变量名为keyword,所以引入到接口中,也用该变量名,如下所示:

Jmeter配置元件——CSV DataSet Config参数化

④查看参数化结果

运行脚本,查看结果,如下所示:

Jmeter配置元件——CSV DataSet Config参数化

接口每次请求,关键字都是不同的,就达到了参数化的效果。

参数化二:txt文件

我们了解csv参数化之后,对于txt文件参数化,都是类似配置。我们新建一个txt文本文件,输入内容并保存即可。

①配置界面

配置界面如下:

Jmeter配置元件——CSV DataSet Config参数化

②注意点

file encoding文件编码填写的是utf-8,不是GB2312。需要格外注意的是,文本文件保存时,默认为ANSI格式文件,即可界面配置为utf-8,但还是会出现乱码的现象,如下所示:

Jmeter配置元件——CSV DataSet Config参数化

配置为utf-8,还是会乱码,解决办法为:将txt文件另存为重新保存,选择文件格式为utf-8保存即可。

③准备txt文件

内容输入如下图所示:

Jmeter配置元件——CSV DataSet Config参数化

④引入参数化

我们在配置界面填写的变量名为keyword,所以引入到接口中,也用该变量名,如下所示:

Jmeter配置元件——CSV DataSet Config参数化

⑤查看参数化结果

运行脚本,查看结果,如下所示:

Jmeter配置元件——CSV DataSet Config参数化

总结

无论是用csv文件还是txt文件进行参数化,配置方式都类似。需要注意的就是,文件编码的格式问题,配置错了,就会导致乱码的情况。配置项中,如果参数化文件第一行填写了参数名称,配置的时候,则需要忽略第一行。

Jmeter配置元件——CSV DataSet Config参数化的更多相关文章

  1. Jmeter配置元件——JDBC Connection Configuration参数化

    在昨天Jmeter配置元件——CSV DataSet Config参数化一文中,有提到,在参数化时,还可以使用JDBC Connection Configuration配置元件实现,具体如何实现,如何 ...

  2. jmeter参数化之配置元件CSV控件

    1.     用badboby进行录制,录制完成后保存,用JMeter格式进行保存,如:登陆.jmx 2.     在jmeter中打开保存的文件登陆.jmx. 3.     对登陆账号和密码进行参数 ...

  3. JMeter--详解JMeter配置元件

    JMeter配置元件可以用来初始化默认值和变量,以便后续采样器使用.将在其作用域的初始化阶段处理. CSV Data Set Config:被用来从文件中读取数据,并将它们拆分后存储到变量中,适合处理 ...

  4. JMeter学习笔记--详解JMeter配置元件

    JMeter配置元件可以用来初始化默认值和变量,以便后续采样器使用.将在其作用域的初始化阶段处理. CSV Data Set Config:被用来从文件中读取数据,并将它们拆分后存储到变量中,适合处理 ...

  5. JMeter 配置元件之-HTTP Cookie管理器-实现 Cookie 登录

    下面以购物App常用的收藏功能为例,讲述如何在 JMeter 中使用 cookie 进行登录态操作.具体的操作步骤如下所示: 第一步.录制查看收藏列表的 HTTP请求: 录制查看收藏列表的HTTP请求 ...

  6. Jmeter(八) - 从入门到精通 - JMeter配置元件(详解教程)

    1.简介 JMeter配置元件可以用来初始化默认值和变量,读取文件数据,设置公共请求参数,赋予变量值等,以便后续采样器使用.将在其作用域的初始化阶段处理.配置元件(Config Element)提供对 ...

  7. JMeter—配置元件(七)

    参考<全栈性能测试修炼宝典JMeter实战>第六章 JMeter 元件详解中第二节配置元件JMeter配置元件可以用来初始化默认值和变量,以便后续采样器使用.将在其作用域的初始化阶段处理. ...

  8. jmeter 配置元件之计数器Counter

    用jmeter生成数据 我用过几种以下几种方法 1.CSV Data Set Config  参数化 2.${_Random} ${_Random}是jmeter函数助手里面自带的一个函数,作用是返回 ...

  9. 『动善时』JMeter基础 — 16、JMeter配置元件【HTTP信息头管理器】

    目录 1.用于演示的项目说明 2.测试计划内包含的元件 3.HTTP请求界面内容 4.查看脚本执行结果 5.添加请求头信息(HTTP信息头管理器) 6.优先级说明 7.补充:常见请求头信息 JMete ...

随机推荐

  1. matlab eps

    matlab eps eps是一个函数.当没有参数时默认参数是1.返回的是该参数的精度. 也就是说单个的eps实际上是eps(1),表示的是1的精度. 这里要说一下精度的概念.浮点数所能表示的数值范围 ...

  2. MySQL5&period;7&period;13源码编译安装指南(转&rpar;

    系统 CenterOs 6.5 1.安装依赖包(cmake make gcc等,其实好多都有了,不需要更新,为了防止世界被破坏,就装下) yum install gcc gcc-c++ -yyum i ...

  3. 以下是jQuery和JavaScript实现相同操作的等价代码。

    选择元素  Javascript代码 1.// jQuery   2.var els = $('.el');   3.  4.// 原生方法   5.var els = document.queryS ...

  4. 64位与32位编程的数据类型区别(C&sol;C&plus;&plus;)

    C/C++仅仅定义了这些基本数据类型之间的关系,并没有定义严格定义它们的字长.在不同的平台上,根据编译器不同的实现,它们的字长如下表所示: 数据类型 LP64 ILP64 LLP64 ILP32 LP ...

  5. Flask-Request对象属性

    Request属性 元属性 method host path environ headers data body中的内容 最安全 解析后 remote_addr args form values  a ...

  6. 利用CVE-2017-11882拿到持久性shell

    利用CVE-2017-11882拿到持久性shell 近日微软又爆出一个严重漏洞,利用该漏洞可以直接拿到目标机shell.这么好玩的东西怎么能错过了,于是搭建环境复现了一把. 首先去GitHub上下载 ...

  7. DNS Wildcard(DNS泛域名)

    在DNS中,泛域名(wildcard Resource Record)可以被认为是一种合成RR的机制,借助于它,DNS服务器可以响应本来不存在的域名的请求,它的设计初衷是用来把所有邮件都转发到一个邮件 ...

  8. Luogu P2597 &lbrack;ZJOI2012&rsqb;灾难

    一道非常综合的好题然后就莫名其妙地知道了动态LCA的求法 果然是ZJOI的题目,只能说这思路服了 首先我们发现每次操作只会灭绝一种动物,然后我们想一下就知道如果有\(n(n>=2)\)个食物的动 ...

  9. 20165303 预备作业3 Linux安装及学习

    =20165303 预备作业3 Linux安装及学习 安装虚拟机 按照http://www.cnblogs.com/rocedu/p/6012545.html步骤进行逐步操作,安装虚拟机. 遇到的问题 ...

  10. springMVC的执行流程和完整代码

    一.什么是 Spring MVC Spring MVC 属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 里面,是一个强大灵活的 Web 框架.Spring ...