JMeter 压力測试使用函数和 CSV 文件參数化 json 数据
Step 1 http json 请求採样器的录制
这个工具非常多,能够使用 JMeter 代理录制。也能够使用 Badboy。
该採样器录制好以后例如以下图所看到的:
Step 2 为该採样器加入 HTTP 信息管理器
鼠标右击该採样器。右键菜单选择 "加入" -> 配置元件 -> HTTP 信息头管理器,然后信息头加入一条名称为 Content-Type。值为 application/json 就可以:
加入好 HTTP 信息管理器之后,选中该採样器,编辑其 Content encoding 为 UTF-8:
Step 3 为该採样器加入响应断言
比方请求返还的 json 串里,"status":0 代表处理成功,status 值为其它表示各种处理失败。那么鼠标右击该採样器,右键菜单选择 "加入" -> 断言 -> 响应断言。要測试的响应字段选中 "响应文本",模式匹配规则选中 "Substring",要測试的模式加入并编辑其内容为 "status":0。
Step 4 编辑採样器的 json 格式
选中该採样器,Parameters 叶项里复制该 json 串,然后点击 Body Data 叶项,粘贴该 json 串于当中的输入域中(关于 json 串的提取,能够使用 Badboy 自己录制的,也能够使用 Chrome 浏览器自带工具 "JavaScript 控制台 - Network" 进行捕捉)。最后调整 json 数据的展现格式例如以下图所看到的:
这时能够进行 http json 提交了,可是数据还都是写死的。那么怎么样把这些 json 数据參数化呢,就像其它非 json 提交的採样器一样?
Step 5 使用函数将 http json 数据參数化
像其它採样器一样使用函数助手生成一个引用字符串,比方 ${__Random(0,9,random_num_0_9)},它的作用是随机生成 0 - 9 之间的一个数字。
然后编辑 Body Data 里的 json 串里须要參数化的地方。使用 ${__Random(0,9,random_num_0_9)} 覆盖须要參数化的部分:
Step 6 使用 CSV Data Set Config 将 json 数据參数化
右键单击 Thread Group,右键菜单选择 "加入" -> 配置元件 -> CSV Data Set Config。Filename 输入 e:/defonds/work/20141105/json.txt(要使用绝对路径),Variable Names 输入 cityCode,cityName,subCategoryCode,subCategoryName。编辑 e:/defonds/work/20141105/json.txt 内容例如以下图所看到的:
最后编辑 Body Data 里的 json 串里须要參数化的地方。使用 ${cityCode} 等參数覆盖须要參数化的部分:
这时候你就能够使用參数化的 json 串进行压力測试啦:
參考资料
- 一次 JMeter 脚本请求错误 HTTP Status 415 的解决笔记
- 一次 JMeter 脚本请求错误 Could not read JSON: Unexpected character : expected a valid value 的解决笔记
转载于:https://www.cnblogs.com/cxchanpin/p/7227695.html
JMeter 压力測试使用函数和 CSV 文件參数化 json 数据相关推荐
- APP压力測试新手教程
Daniel Knott 用过各种不同编程语言和软件质量保证工具.他在软件开发和測试方面干了七年,自2010年,他一直在德国汉堡的XING AG公司就职,几个项目里,比方XING调查和XING建议,他 ...
- 成功解决利用pandas的read_csv函数读取csv文件的时候出现中文乱码问题
成功解决利用pandas的read_csv函数读取csv文件的时候出现中文乱码问题 目录 解决问题 解决思路 解决方法 解决问题 利用pandas的read_csv函数读取csv文件的时候出现中文乱码 ...
- c语言fscanf读取csv文件,使用fscanf函数从.csv文件中读取int
我试图从.csv文件中读取一些整数.我不知道到底有多少整数是每行的文件中,我只知道,所有的csv文件是一样的东西:使用fscanf函数从.csv文件中读取int 1,2,3,9,6,3,4 4,5,6 ...
- pandas读取csv文件的前几行数据(nrows参数)、pandas读取csv文件的中间几行数据(skiprows=range(a,b))
pandas读取csv文件的前几行数据(nrows参数).pandas读取csv文件的中间几行数据(skiprows=range(a,b)) 目录 pandas读取csv文件的前几行数据.pandas ...
- python csv文件参数化_Python 读取csv文件的某一列数据,并定义两个pattern,确定变化区间...
Python 读取csv文件的某一列数据,并定义两个pattern,[-1, 1, 1] 和 [1, -1, -1]可以确定不同的变化区间 抓取股票数据,确定股票的变化区间. Date 3D10 20 ...
- Springboot读取.csv文件并转化为JSON对象
有时候我们需要读取.csv文件并将其中的数据处理成json对象以便后续处理,在这里整理了简单的处理流程. 1. 代码实现 1)引入依赖 <dependency><groupId> ...
- C语言中函数和指针的參数传递
C语言中函数和指针的參数传递 近期写二叉树的数据结构实验.想用一个没有返回值的函数来创建一个树,发现这个树就是建立不起来,那么我就用这个样例讨论一下c语言中指针作为形參的函数中传递中隐藏的东西. 大家 ...
- web压力測试-Web Bench
1.web bench下载.地址:http://home.tiscali.cz/~cz210552/webbench.html 2.wen bench安装: [root@web111 tmp]#tar ...
- jmeter 循环使用csv数据_如何通过jmeter读取csv文件行数来设置循环控制器的总数...
1.线程组里添加beanshell取样器 import java.io.BufferedReader; import java.io.FileReader; import java.io.IOExce ...
最新文章
- php.ini 中文英文对照详细配置手册
- python selenium --处理下拉框
- idea、eclipse常用快捷键
- JSON.stringify()和JSON.parse()分别是什么
- 关于宽字符(C++将中文文本文件的内容输出到控制台
- oracle orber by,Oracle ORDER BY子句
- ubantu 16.04 mysql_Ubuntu 16.04下安装MySQL
- 第三次学JAVA再学不好就吃翔(part81)--去除ArrayList中重复元素
- 2018-2019-2 20175223 实验三《敏捷开发与XP实践》实验报告
- 关于myeclipse输入法编程繁体的修正
- Ubuntu连网的问题
- KnockoutJS(4)-控制文本和外观绑定
- Matlab函数——wgn
- html在线播放mp4文件,使用HTML5视频在Firefox中播放MP4文件
- pytz 太平洋时区_使用pytz模块打印所有时区的Python程序
- Carsim工况设置:道路场景的构建
- 从新手到高手c++全方位学习 pdf + 视频教程 共18章
- 利用tensorflow构建LSTM预测单词
- c语言遍历文件内容_跨平台的C语言网络框架库acl
- bps、pps、fps
热门文章
- 【网址收藏】Linux 命令分类(debian Linux)
- linux awk列数据处理工具使用示例
- 深入理解java虚拟机(全章节完整)
- 架构设计:Vue+nginx+jwt+zuul+eureka+ribbon+hystrix+rabbitmq+mysql集群+redis集群+elsticsearch集群
- lambda中的钩子函数
- AngularJS基于MVC的复杂操作案例
- mysql修改索引对交易影响吗_MySQL中字符串索引对update的影响分析
- SQL 新加字段查询窗口报错
- 将String转换成Int数组-Java
- 机器人动力学(Basic Newton-Euler Mechanics)