Jmeter的取样器有:Http请求、JDBC请求、Beanshell取样器、调试取样器、JSR223取样器、FTP请求、GraphQL HTTP请求、TCP请求、Java请求等,本文主要介绍Http请求、JDBC请求、Beanshell取样器、调试取样器
一:Http请求
介绍下Http请求元件的各项信息
1、协议:可以省略不填,省略默认是http协议,端口号默认80,如果协议填的的https,则端口号默认是443
2、自动重定向:当发送HTTP请求后得到的响应是3XX状态码时,JMeter会自动重定向到新的页面,但不记录重定向的过程内容
3、跟随重定向:当响应是3XX状态码时,会记录重定向过程中的所有请求响应信息,在查看结果树中可以看到重定向过程中的所有请求,一般我们需要获取所有请求给与我们一些判断依据,所以此项一般都需要勾选。
4、keepalive:一种长连接通信方式,即发出多次请求时,不会频繁的建立连接和断开连接,勾选后,会在请求头带有:Connection:keep-alive的信息,通过此选项可以大大节约了3次握手协议所需的时间。
5、对post使用multipart/form-data:发送post请求时,使用multipart/from-data或者application/x-www-form-urlencoded方法发送。
此取样器一般保持默认使用即可。
二:JDBC请求
该请求主要用于对数据库进行增删改查操作的。在使用该请求前,需要添加JDBC配置文件并且填写好信息,配置操作见前面的博客:Jmeter全方面讲解——Jmeter的元件使用介绍:(三)配置元件详解02 - 筱筱创 - 博客园
讲解前准备工作:
(1)在自己电脑安装好mysql数据库,或者有公司项目的链接数据库信息。
(2)准备下测试数据表:
本文测试用的数据表建表语句如下:CREATE TABLE
myindex(
idint NOT NULL AUTO_INCREMENT,
testvarchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, PRIMARY KEY (
id), KEY
index_test(
test) ) ENGINE=InnoDB AUTO_INCREMENT=115 DEFAULT CHARSET=utf8;
表信息:
下面JDBC请求取样器的页面信息
1、Variable Name of Pool declared in JDBC Connection Configuration:该选项填写的是JDBC配置元件中填写的连接池(pool)名称
2、QueryType:主要介绍以下几种
(1)Select Statement:该选项是一条查询语句,只能支持单条查询
(2)Update Statement:该选项是一条增/删/改语句,只能支持单条语句
(3)Callable Statement:该选项是可以执行多条语句的,增删改查语句都支持
(4)Prepared Select Statement:以参数化的形式执行查询语句。
(5)Prepared Update Statement:以参数化的形式执行增/删/改语句
3、Parameter values:SQL语句中引用的参数值
4、Parameter types:参数引用的数据类型,如以下几种类型:整型(INTEGER)、日期型(DATE)、字符串型(VARCHAR)、浮点型(DOUBLE)
5、Variable names:将查询结果应用到Jmeter变量中
6、Result variable name:将查询结果组合成数组形式
7、Query timeout:设置超时时间,0或者不填表示无限时间
8、Limit ResultSet:限制SQL语句返回结果集的行数,如果SQL语句也有Limit,最终会以此处设置的数量返回结果集数量
9、Handle ResultSet:定义由哪种类型处理callable statement 返回的结果
案例:
本文的JDBC配置信息如下:
案例1:使用Select Statement 查询单条SQL语句,并将查询结果保存到Jmeter变量中:
通过添加【调试取样器】,可以观察到查询结果成功保存到Jmeter变量中:
案例2:通过Update Statement执行单条增/删/该SQL语句。
此处我通过Update Statement去修改数据值:
执行结果:
案例3:Callable Statement执行多条SQL语句
注意执行结果:可能会报错,如下图:
在数据库连接池中添加完allowMultiQueries=true后再执行请求:
三:Beanshell 取样器
Beanshell 取样器的用法十分灵活,与前面介绍过的Beanshell前置处理器类似,可以随意添加自己想要的自定义方法然后发起调用。在Beanshell前置处理器中编写的脚本,可以在Beanshell取样器中完全兼容。
Beanshell前置处理器的使用介绍:
Jmeter全方面讲解——Jmeter的元件使用介绍:(四)前置处理器详解 - 筱筱创 - 博客园
区别在于:Beanshell前置处理器在查看结果树时没有结果展示,而Beanshell取样器在查看结果树时会有结果展示。
这里举个Beanshell取样器实例:
通过Beanshell取样器,编写一个方法,将Jmeter的变量进行拼接。
执行结果:
文章来源:https://www.toymoban.com/news/detail-453908.html
分类: Jmeter, 接口测试文章来源地址https://www.toymoban.com/news/detail-453908.html
到了这里,关于Jmeter的元件使用介绍:取样器详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!