03 - Jmeter用户自定义变量CSV参数化以及断言的设置
设置断言
咱们还是先看一个图吧,由下图可以看出接口是请求成功了,但是请求数量比较少,还是比较方便看的,但是jmeter既然是压测工具,那么肯定不会发这么点儿请求的,如果请求数量比较庞大的话,我们仅仅凭借肉眼是很难看出的;这就需要我们运用的到其他的功能了;断言

增加断言的方式 以及页面介绍
HTTP Request → add → Assertios → Response Assertions
- Apply to 应用范围
Main sample only:仅当前父取样器进行断言,一般一个请求
Sub sample only: 一个请求触发多个,比较少用 - Field to Test 要测试响应的字段
Test Response:响应文本
Response Code:响应代码
Response Message:响应信息
Response Headers: 响应消息头
Request Headers:响应请求头 - Pattern Matching Rules 匹配内容的方式
Contains:包含
Matches:匹配
Equals:相等
Substring:匹配字符串 - Patterns to Test 测试模式
- Custom failure message 自定义失败消息

然后咱们就随便加一个断言试一下
此接口内容包含了请求成功,但是我们想让接口触发断言,故而不能用请求成功来匹配

下面我们就可以看出断言失败了,结果并不是我们需要的,jmeter已经告诉我们了

如果需要设置多个断言的话,可以按照原有的方法再次添加一个响应断言(Response Assertions);这次以状态码为测试,见下图


自定义用户变量
这里关于自定义变量如何使用,为什么用就不解释了,就来说一下局部和(全局)吧
- 局部变量自定义变量创建及介绍
HTTP Request → addt → Config Elementt → User defined Varibles
name:变量名
value:变量值
description:说明 - 全局变量自定义
测试计划右侧
下面咱们就分别设置一个看一下是否能用


以用方式都是一样的,这里就不贴结果了,是肯定可以成功的

CSV参数化操作
在压测服务器时,如果只用一些固定的数据肯定是不可行的,我们需要做的就是,尽可能的模拟生产环境的真实使用场景,所以这里就提到了另外一个组件 CSV set data config(csv 数据文件设置)
添加方式:HTTP Request → addt → Config Elementt → CSV data set config

Configure the CSV Data Source 配置CSV数据源
File Name:文件名
File encodding:文件编码
Varible Names:引用时需要用的变量名
Igore first line:忽略首行 (false)
Delimiter:参数的分隔符
Allow quoted data:是否允许带引号 (false)
Recycle on EOF:遇到文件结束符时再次循环 (true)
Stop thread on EOF:遇到文件结束符停止线程 (false)
Sharing mode:线程共享模式,(全局,当前线程组,当前线程)
txt文件测试
参考下图,文件和CSV配置;咱们模拟了三个账号来登录,so线程组设置为3次


请求体内引用变量,如果不是字符串的话可以直接使用${***}

下面咱们就来看一下结果吧,虽然是正确的但是也要看一下



CSV文件测试 以及多个变量
多个变量定义用逗号隔开切记不要有空格,包括文件内容也是以逗号隔开,引用方式与文本是一致的
修改方式为,创建文本,写入内容,修改文件后缀,上传文件,执行测试,即可

03 - Jmeter用户自定义变量CSV参数化以及断言的设置的更多相关文章
- 『动善时』JMeter基础 — 23、JMeter中使用“用户自定义变量”实现参数化
目录 1.用户自定义变量介绍 2.使用"用户自定义变量"实现参数化 (1)测试计划内包含的元件 (2)数据文件内容 (3)测试计划界面内容 (4)线程组元件内容 (5)CSV数据文 ...
- Jmeter CSV 参数化/检查点/断言
当参数的值没有规律且量不太大时,可以使用CSV Data set config这种方法. 案例: 应用Sogou自动搜索关键字: 软件开发测试,web功能自动化测试,性能自动化测试,Selenium以 ...
- jmeter进行接口测试--csv参数化,数据驱动-转
首先我们要有一个接口测试用例存放的地方,我们这里用EXCEL模板管理,里面包含用例编号.入参.优先级.请求方式.url等等. 1:新建一个txt文件,命名为sjqd,后缀名改为csv,右键excel格 ...
- jmeter(四十六)参数化与断言实战
概述 今天用jmeter做一次参数化实战.通过计数器遍历参数表,然后查询jdbc进行beanshell断言. 涉及元件 用户参数,计数器,正则表达式,jdbc,beanshell脚本 详细过程 在我们 ...
- jmeter参数化数据(_csvread函数、用户自定义变量等)
以下是转载内容,仔细看过后,觉得用得最多的应该是csvread函数.用户自定义变量以及CSV DATA CONFIG控制器这几个,但是做练习之后,在结果树和聚合报告中怎么查看执行结果是个问题,没找到对 ...
- JMeter脚本参数化和断言设置( CSV Data Set Config )
用Badboy录制了Jmeter的脚本,用Jmeter打开后形成了原始的脚本.但是在实际应用中,为了增强脚本的多样性,就要使脚本参数化.这里我以登录为例,参数化用户账号与用户密码. 图1 :原始脚本 ...
- Jmeter接口测试(五)变量及参数化
在请求过程中,有时我们需要在请求中设置一些变量来测试不同的场景. 提示:在调试请求过程中,无关的请求可以暂时禁用掉,选择某个暂时不用的请求,右键--禁用 Jmeter 支持以下类型变量:所有类型的变量 ...
- 参数化1--jmeter参数化数据(_csvread函数、用户自定义变量等)
以下是转载内容,仔细看过后,觉得用得最多的应该是csvread函数.用户自定义变量以及CSV DATA CONFIG控制器这几个,但是做练习之后,在结果树和聚合报告中怎么查看执行结果是个问题,没找到对 ...
- Jmeter (三)变量、参数化、函数
一.参数化 1.在参数中定义变量:${变量名称} 变量定义:2种 2.在用户自定义变量User Defined Variable 或者 用户参数User Parameters中,设置key.value ...
随机推荐
- Angular.js 使用$http的response得到的phone属性为undefined
这是个坑~ 先说解决方案:把response打印出来找你的属性 记录一下,经验不足,有些东西想当然了,所有错误出现都应该一步步去排查!!!切记想当然的自以为. 源码: js $scope.phone= ...
- linux手动测试 rsync 的同步情况
特别强调:此步很关键,如果这不能同步,后面的 inotify 配好了也不会同步数据. 1) 分别创建待同步数据 [root@rsync-client-inotify ~]# mkdir /data/{ ...
- 团队中的 Git 实践
转载自:https://segmentfault.com/a/1190000004963641 本文首发于欧雷流.由于我会时不时对文章进行补充.修正和润色,为了保证所看到的是最新版本,请阅读原文. 在 ...
- 多线程AQS
参考: AQS原理分析 https://blog.csdn.net/javazejian/article/details/75043422 重入读写锁原理分析 https://blog.csdn.ne ...
- rocketmq架构设计
# 架构设计 1 技术架构 RocketMQ架构上主要分为四部分,如上图所示: Producer:消息发布的角色,支持分布式集群方式部署.Producer通过MQ的负载均衡模块选择相应的Broker集 ...
- The list of list is modified unexpected, python
Be careful! The list of list is modified unexpected, python # code patch A: list = [1,2,3,4,5,6,7] p ...
- C指针,&,*,指针的指针
C指针: 指向变量的地址,想象成房间号 &: 取地址符号 *:间接访问符号, 访问p所存地址的内容 #include <iostream> int main(int argc, c ...
- 数据库的特性与隔离级别和spring事务的传播机制和隔离级别
首先数据库的特性就是 ACID: Atomicity 原子性:所有事务是一个整体,要么全部成功,要么失败 Consistency 一致性:在事务开始和结束前,要保持一致性状态 Isolation 隔离 ...
- vim 批量添加删除注释
vim中单行注释只是多行注释的一个特例,这里统一进行多行注释的讲解 (1)添加批量注释 ctrl+v 进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I(shift+i) ...
- UE4 命令行打开工程
创建快捷方式,目标填写: D:\EpicGames\4.14\Engine\Binaries\Win64\UE4Editor.exe "D:\YourProjectPath\YouProje ...