系列文章目录
1.windows、linux安装jmeter及设置中文显示
2.jmeter常用配置元件介绍总结之安装插件
3.jmeter常用配置元件介绍总结之取样器
jmeter常用配置元件介绍总结之取样器
- 2.取样器
- 2.1.HTTP请求
- 2.2.Debug Sampler
- 2.3.JSR223 Sampler
- 2.4.JDBC Connection Configuration和JDBC Request
- 2.5.JDBC Request
2.取样器
取样器只能在线程组中添加
2.1.HTTP请求
如图:
说明1:基本信息的配置
协议:填写请求协议,http 或 https
服务器名称或IP:填写,域名 或者是 IP
端口号:填写端口号,协议是http时,端口默认是80可以不填写,协议是https时,端口默认是443可以不填写
http请求:选择请求方式,与被测接口请求方式保持一致即可
路径:填写接口的url
内容编码:对请求信息进行编码,一般填写UTF-8
说明2:辅助选项的配置
自动重定向:
- Get与Head请求方式,请求的地址有重定向请求时,可以自动跳转的,
- 勾选此项后,“跟随重定向”无效。
- 自动重定向,JMeter是不记录重定向过程内容的,比如A 跳----> B,只会记录B的响应信息。
跟随业定向:效果同自动重定向,但是会记录所有的响应信息,比如A 跳----> B,A和B都会记录
对POST使用multipart/form-data:是一种请求头的Content-Type类型,主要是用来POST请求搭配文件上传使用的,勾选后会将,参数+文件一起发送出去
说明3:请求体的配置,http请求体内容常用的三种类型:
- application/x-www-form-urlencoded
- application/json
- multipart/form-data
参数 :用来对post请求内容类型为,application/x-www-form-urlencoded、multipart/form-data的参数做处理,注意参数和消息体数据不能同时传值在参数中传值了就不能在消息体数据中传,反之也是如此
消息体数据:用来处理请求内容类型为json、xml等参数,注意消息体数据需要加个 HTTP信息头管理器 把请求头信息传进去,如Content-Type:application/json,如图:
文件上传,如下图:
- 文件名称:填写要上传文件的路径
- 参数名称:一般都是file,不确定就抓包,如图[name=“file”],所以参数名称就是file
- MIME类型:指上传文件的类型,填写了文件路径后,类型会自动带出了
- 如果上传文件的接口还要传其他的请求参数,则将multipart/form-data勾选上,在参数里面进行填写
2.2.Debug Sampler
主要用于调试测试过程中设置的变量、属性,看变量是否取到值、值是否正确
效果如图:
我这里设置了很多变量,运行后,将设置的变量和值都展示处理了,该取样器,可以展示属性、变量、系统属性,只需要将对应的值设为True,运行时就能看见了
2.3.JSR223 Sampler
该组件可以引入执行其他语言的脚本,如python
参数:可以将参数传递到脚本中,单个参数格式:${name} ,多个参数传递用空格隔开:${name1} ${name2} …,
脚本文件:可以选择外部的脚本文件或者直接在下方区域编写,没有外部文件则会执行下方的脚本
脚本编译缓存:如果可用缓存编译脚本选择需要注意!勾选后,不仅是脚本被缓存,里面的数据也会缓存不会更新。
2.4.JDBC Connection Configuration和JDBC Request
用来发出连接数据库的jdbc请求,需要和JDBC Connection Configuration配合起来使用
先介绍一下JDBC Connection Configuration,在添加 – 配置元件 – JDBC Connection Configuration中
如图:
说明1:连接池信息
协议:填写请求协议,http 或 https
Variable Name for created pool:可以理解为连接名称,自定义名称,需要注意的是要JDBC Request的连接名称保持一致
如图:
Max Number of Connections:设置最大连接数
Max Wait (ms):设置连接最大等待时间,单位ms
Time Between Eviction Runs(ms):设置间隔时间
Auto Commit:设置是否自动提交sql,True/False
Transaction lsolation:设置事务隔离
Pool Prepared Statements:设置准备语句的最大数量
Preinit Pool:设置是否立即初始化连接
还有下面的,三个参数主要是用来验证连接池是否正确:
Test While ldle
Soft in Evictable ldle Time(ms)
Validation Query
以上参数,除连接名称(Variable Name for created pool)需要自己设置外,其他的基本都不需要动,默认即可
接下来介绍剩余几个比较重要的参数:
说明1:数据库连接配置
Database URL:连接url,不通数据库的连接url不通,我这里是以mysql为例子连接url格式是:
jdbc:mysql://ip:端口/数据库名称
jdbc:mysql://192.168.xx.xx:3306/dbname
JDBC Driver class:设置数据库驱动,数据库不通驱动程序也不同,需要到对应的官网去下载驱动解压后把jar文件,放到jmeter的lib/ext目录中,重启即可。
1.去官网下载
2.通过网盘分享的文件:mysql-connector-j-9.1.0.zip
链接: https://pan.baidu.com/s/1VgE79pibRPqZ8cgB-3x3dA?pwd=hhck 提取码: hhck
–来自百度网盘超级会员v1的分享
将驱动文件放到jmeter中:
Username:数据库账号
Password:数据库密码
Connection Properties:配置数据库连接时的连接属性,是可选的也可以不配置
2.5.JDBC Request
jdbc请求如图:
参数说明:
Variable Name of Pool declared in JDBC Connection Configuration:连接名称,需要和Variable Name for created pool设置的名称保持一致
Query Type:设置sql语句的类型
- Select Statement:执行单条语句,只支持查询语句。
- Update Statement:执行单条语句,支持增、删、改语句
- Callable Statement:执行多条语句,支持增、删、改、查语句,支持使用?占位符;注意执行多行需要在连接配置中加上连接属性:allowMultiQueries=true
如图添加连接属性:
- Prepared Select Statement:以参数化形式,执行查语句,即:?占位符
- Prepared Update Statement:以参数化形式,执行增、删、改语句,即:?占位符
Parameter values和Parameter types
参数说明:Parameter values、Parameter types是和占位符联合起来用的,用?表示占位符
Parameter values:设置占位符参数值,
Parameter types:设置参数的类型,Parameter values里面的值的类型,类型和值一一对应;即:第一个参数值就对应填写的第一个类型。多个值、多个类型用英文逗号隔开
Variable names:用变量接收查询返回的结果,一个字段对应一个变量,变量与字段数量不一致时多余的丢弃,如图
a_*=1,是指第一行的a变量值是1
a_#=1,总行数
Result variable name:用变量接收返回结果,以数组的形式返回来,如图:
Query timeout (s):设置超时时间
Limit ResultSet:设置返回结果的行数