jmeter参数化、添加变量、生成随机数和导入csv文件数据
Remarks:本次使用jmeter版本为4.0
以下数据都在必应中演示:
添加普通变量
1、添加 User Defined Variables(用户自定义变量)
2、设置变量
3、使用变量
4、查看结果
生成随机变量并使用
1、添加random variable(随机变量),在测试计划(Test Plan)上点击右键。
2、设置随机变量的名称、样式、范围
3、开始引用
${number} #${}是固定书写格式,花括号中间为需要引用变量的名称
4、查看执行结果
5、其他写法
添加用户自定义变量
添加变量
使用 ${__V(name${__Random(1, 3)})}调用
执行结果:
拆解:
${__Random(1, 3)}:随机生成1-3之间的整数
name${__Random(1, 3)}:随机生成name1, name2, name3中的任意1个字符串
${__V(name${__Random(1, 3)})}对形如name1的字符串求值。也就是不把name1当成字符串来看,而是把name1当作是1个变量,并获取这个变量的值。name1的值是我们在用户自定义变量中定义过的,也就是搜索。那么连起来,这个表达式的作用就是随机生成搜索第一个变量, 搜索第二个变量, 搜索第三个变量中的任意一个字符串
使用csv文件数据
前面我们的脚本现在有了随机选择搜索关键字的功能,平心而论,这很酷,值得大书特书一笔。不过现实是残酷的,我们的脚本其实是有一点问题的,当我们的并发数(虚拟用户数)很大的时候,我们的脚本本身可能有一点点的性能问题。是的,你没看错,性能测试脚本自身会有性能问题,这就像是心理医生是个精神病一样让人讶异。
由于随机数的生成的时候会耗cpu和内存,当脚本并发很大的时候,这种损耗是值得关注的。
为什么不是excel
为什么是csv格式而不是excel格式呢?
csv是纯文本格式,是开放格式,可以用在几乎所有的操作系统上;excel是私有格式(微软家的),在linux和mac上要折腾一下才能玩好。
总之csv简单方便跨平台,对于承载测试数据来说是基本够用的。
- 删除掉所有的随机变量配置元件
- 在测试计划(Test Plan)上点击右键,添加 -> 配置元件 -> CSV Data Set Config
1、准备所需csv文件
创建txt文件 输入如下内容,另存为csv文件(编码为UTF-8),每次在txt文档修改保存 每组数据以英文逗号分隔
2、在测试计划(Test Plan)上点击右键,添加 -> 配置元件 -> CSV Data Set Config(数据文件设置)
3、配置 CSV Data Set Config(数据文件设置)
one 和 two 代表这一行有2个数据(名字而已随便取),把读取到的2个数据分别赋值给one和two(循环一次,使用第一行的数据,循环两次使用第二行的数据,超过数据行再次从第一行往下)
4、开始使用变量
把线程组的循环次数改成2
5、查看执行结果
可以看到csv中的两行数据都读取到了
CSV Data Set Config
下面这些配置项是比较有用的
Filename(文件名): 支持相对和绝对路径。相对路径是以脚本保存的路径为当前的相对路径的
Variable Name(变量名): 有多少列数据我们就设置多少个变量,以逗号分隔。如果这一项为空,jemter会去解析csv文件的header,也就是说,如果你的csv文件是有表头的,那么你可以不设置变量名,jmeter会自动将表头的名称解析成变量名
Allow quoted data?: 如果你的csv文件的内容里包含了分隔符,默认的分隔符是逗号,那么把这项勾选一下,用双引号将值括起来就可以了
Sharing mode: 这个比较难理解,我们可以简单的认为这个选项就是配置jmeter怎么打开csv文件的
All threads: 所有的虚拟用户都使用同一个csv文件
Current thread group: 每个线程组使用一个csv文件
Current thread: 每个线程(虚拟用户)使用一个csv文件
Identifier: 自定义
jmeter参数化、添加变量、生成随机数和导入csv文件数据的更多相关文章
- java调用sqlldr导入csv文件数据到临时表
package cn.com.file;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File; ...
- 【Oracle123】向OracleDB导入*.csv文件数据
SQL*Loader Control File Reference https://docs.oracle.com/cd/B10501_01/server.920/a96652/ch05.htm Or ...
- CSV文件数据如何读取、导入、导出到新的CSV文件中以及CSV文件的创建
CSV文件数据如何读取.导入.导出到新的CSV文件中以及CSV文件的创建 一.csv文件的创建 (1)新建一个文本文档: 打开新建文本文档,进行编辑. 注意:关键字与关键字之间用英文半角逗号隔开.第一 ...
- C# 将List中的数据导入csv文件中
//http://www.cnblogs.com/mingmingruyuedlut/archive/2013/01/20/2849906.html C# 将List中的数据导入csv文件中 将数 ...
- springMVC(5)---导入excel文件数据到数据库
springMVC(5)---导入excel文件数据到数据库 上一篇文章写了从数据库导出数据到excel文件,这篇文章悄悄相反,写的是导入excel文件数据到数据库.上一篇链接:springMVC(4 ...
- R: 导入 csv 文件,导出到csv文件,;绘图后导出为图片、pdf等
################################################### 问题:导入 csv 文件 如何从csv文件中导入数据,?参数怎么设置?常用参数模板是啥? 解决方 ...
- python导入csv文件出现SyntaxError问题分析
python导入csv文件出现SyntaxError问题分析 先简单描述下碰到的题目,要求是写出2个print的结果 可以看到,a指向了一个列表list对象,在Python中,这样的赋值语句,其实内部 ...
- Oracle数据库导入csv文件(sqlldr命令行)
1.说明 Oracle数据库导入csv文件, 当csv文件较小时, 可以使用数据库管理工具, 比如DBevaer导入到数据库, 当csv文件很大时, 可以使用Oracle提供的sqlldr命令行工具, ...
- ACCESS导入CSV文件出现乱码解决办法
在ACCESS或Excel中导入CSV文件时常常出现乱码,这是因为简体中文版的windows操作系统及其应用软件默认都是ANSI/GBK编码,而导入的文件使用的编码与操作系统默认的编码不相符.出现这种 ...
随机推荐
- 私有仓库GitLab快速入门篇
私有仓库GitLab快速入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 安装文档请参考官网:https://about.gitlab.com/installation/#ce ...
- HTTP协议和SOCKS5协议
HTTP协议和SOCKS5协议 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们平时上网的时候基本上是离不开浏览器的,尤其是搜索资料的时候,那么这个浏览器是如何工作的呢?用的又是 ...
- groovy.lang.GroovyRuntimeException: Conflicting module versions
在运行groovy的junit方法时,报了这个错误: java.lang.ExceptionInInitializerError at org.codehaus.groovy.reflection.C ...
- Linux下SVN使用
转载:参考文章http://www.linuxidc.com/Linux/2011-09/42347.htm 1. 将文件checkout到本地目录 svn checkout path(pat ...
- Html-Css 从入门到放弃(一)基础知识
注意要点: 1.ID属性不要以数字开头,数字开头的ID在 Mozilla/Firefox 浏览器中不起作用. 2.class 选择器用于描述一组元素的样式,class 选择器有别于id选择器,clas ...
- MIPS指令学习二
1.MIPS寻址方式 MIPS架构的寻址模式有寄存器寻址.立即数寻址.寄存器相对寻址和PC相对寻址4种,其中寄存器相对寻址.PC相对寻址介绍如下: 1.1.寄存器相对寻址 这种寻址模式主要被加载/存储 ...
- d2-admin中那些不错的技巧
d2-admin基于vue-cli3 路由相关 刷新路由,参照官方 组件内的守卫 但是搞不明白为何加了句 render:h => h() { path: 'refresh', name: 'r ...
- 【API】恶意样本分析手册——API函数篇
学编程又有材料了 http://blog.nsfocus.net/malware-sample-analysis-api/
- C++学习3--编程基础(vector、string、三种传参)
知识点学习 Vector容器 vector是C++标准程序库中的一个类,其定义于头文件中,与其他STL组件一样,ventor属于STD名称空间: ventor是C++标准程序库里最基本的容器,设计之初 ...
- ubuntu16.04安装opencv2.4.13
1.更新 sudo apt-get update sudo apt-get upgrade 2.安装关联库 2.1 搭建C/C++编译环境 sudo apt-get install build-ess ...