jmeter_04_常用取样器
常用取样器详解
http取样器
名称 用于给取样器做标记 可以根据请求内容 起一个有意义的名称
注释 不影响测试 可以写入关于请求的测试说明 供阅读
1.1 基本配置
协议:向目标服务器发送HTTP请求时的协议,可以是http或者是https或者File ,默认值为http 。
服务器名称或IP :HTTP请求发送的目标服务器名称或IP地址
端口号:目标服务器的端口号,默认值为80
方法:发送HTTP请求的方法,可以根据接口文档获得,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。
路径:目标URL路径(不包括服务器地址和端口)-也可以直接写完整路径(上面的IP+端口就可以省略了) 不带参数的api路径
Content encoding :内容的编码方式,默认值为iso8859(所以常用为UTF-8减少乱码)
自动重定向:如果选中该选项,当发送HTTP请求后得到的响应是302/301时,JMeter 会自动重定向到新的页面,但是Jmeter是不记录重定向的过程内容。只能用于get和head方法,如果是post或者put请求则取样器不会发送。
跟随重定向:Http Request取样器的默认选项,当响应code是3xx时,自动跳转到目标地址。与自动重定向不同,Jmeter会记录重定向过程中的所有请求响应,在查看结果树时可以看到服务器返回的内容,如有多个跳转则多个请求都会被记录下来,此为默认选项。
自动重定向和跟随重定向的区别只在于是否记录多个跳转的请求上
Use keep Alive : 当该选项被选中时,jmeter 和目标服务器之间使用 Keep-Alive方式进行HTTP通信,默认选中。 [这个不能被取消]
Use multipart/from-data for HTTP POST :当发送HTTP POST 请求时,使用Use multipart/from-data方法或者application/x-www-form-urlencoded方法发送,默认不选中。
Browser-compatible headers:当勾选multipart/form-data时,勾选此项会截掉http请求头中的Content-Type和Content-Transfer-Encoding,而只发送Content-Disposition部分;
同请求一起发送参数 : 在请求中发送URL参数,对于带参数的URL ,jmeter提供了一个简单的对参数化的方法。用户可以将URL中所有参数设置在本表中,表中的每一行是一个参数值对(对应RUL中的 名称1=值1)。编码这个选项最好勾选,因为如果参数值内含有ASCII Control Chars或者Non-ASCII characters或者其他符号的话,如果不勾选会导致发送失败,勾选的话会自动将含有的这些特殊符号进行编码。
同请求一起发送文件:在请求中发送文件,通常,HTTP文件上传行为可以通过这种方式模拟,参数名称就是发送文件对应的参数,MINE Type为资源媒体类型,说明参考如下MIneType。
1.2 高级配置
Implementation:发送http请求的方式,可选项为java和HttpClient4,默认为HttpClient4;如果是上传文件的话一定要选择;否则请求发送成功了,其实文件并未上传成功
Timeouts(milliseconds):Connect:连接超时时间,单位为毫秒;
Response :响应等待超时时间,单位为毫秒;
Embedded Resources from HTML Files
从HTML文件获取所有内含的资源:当该选项被选中时,jmeter在发出HTTP请求并获得响应的HTML文件内容后,还对该HTML进行解析 并获取HTML中包含的所有资源(图片、flash等),默认不选中,如果用户只希望获取页面中的特定资源,可以在下方的Embedded URLs must match 文本框中填入需要下载的特定资源表达式,这样,只有能匹配指定正则表达式的URL指向资源会被下载。
Parallel downloads.:是否使用自设资源池,勾选后可设置大小;
Number:资源池大小,默认为6。
URLs must match:URL匹配过滤,填写此项则只会下载与此内容项匹配的url的资源,例如要获取http://example.com/下的所有资源,使用正则表达式http://example.com/.*;
jdbc取样器


前置:需要引用数据库上官jar包
加入jar包的两个方法
1 直接下载对应的jar文件放在bin/lib文件夹下 etc文件夹下也可以放 但是不建议 然后重启jmeter
2 "测试计划" --> 浏览 导入对应jar
**建议使用第一种方法 **
作用:
名称 用于给取样器做标记 可以根据请求内容 起一个有意义的名称
注释 不影响测试 可以写入关于请求的测试说明 供阅读
2.1 JDBC Connection Configuration
想使用 jdbc request请求数据库 在安装数据库的对应驱动 jar之后 需要添加 对应的jdbc环境配置
名称 用于给取样器做标记 可以根据请求内容 起一个有意义的名称
注释 不影响测试 可以写入关于请求的测试说明 供阅读
2.1.1 **Variable Name of Bound Pool **
1 *Variable Name of Create Pool : 重要 在创建对应的jdbc的环境配置 要定义个环境配置的的引用名称
方便创建Jdbc request 与之对应
剩下的配置 取默认就可以
2.2 JDBC Request
添加方式 :测试计划 ->线程组 -> 取样器 -> jdbc 取样器
1 *** **Variable Name of Pool declared in JDBC Connection Configuration:由 JDBC Connection Configuration定义的连接池变量名
与jdbc环境变量中定义的引用名称一致 类似数据库外键 创建关联
* Query Type: 定义sql的执行方式 非常重要 如果对应不上会直接导致请求失败
2.Parameter values:逗号分隔的参数值列表。使用]NULL[指示空参数。(如果需要,可以通过定义属性“JDCBSAMPLOUL.NulLMARK”来改变空字符串。必须用双引号括起来,并且任何嵌入的双引号必须加倍,【这是在使用SQL中包含占位符的情况 一般不需要做这个 直接卸载SQL中就可以 】
3.Parameter types:逗号分隔的SQL参数类型列表(比如INTEGER, DATE, VARCHAR, DOUBLE)或常量的整数值。当使用驱动程序建议的自定义数据库类型时,可以使用这些整数值。
4.Variable names:用逗号分隔的变量名列表,用于保存由Select语句、Prepared Select语句或CallableStatement返回的值。注意,当与CallableStatement一起使用时,变量列表的顺序必须与调用返回的OUT参数相同。如果变量名少于OUT参数,则只有指定变量名的部分能返回;如果存在更多的变量名,则多余变量将被忽略。
5.Result variable name:如果指定,这将创建包含行映射列表的对象变量。每个映射包含列名称作为键,列数据包含值。用途:
这个是将 请求结果以列表的格式参数化; 可以通过 调试取样器 观察取样器结果 确定参数化成功与否以及如何引用参数化 的 参数
- Query timeout:查询超时时间;、
- Handle result set:定义如何处理由callable statements语句返回的结果 可选项为 string object records
调试取样器

调试取样器:
名称 用于给取样器做标记 可以根据请求内容 起一个有意义的名称
注释 不影响测试 可以写入关于请求的测试说明 供阅读
调试取样器是jmeter中一个非常重要的存在 主要用于调试 解决使用jmeter时候遇到的如下的几个问题
1.我想知道参数化的变量取值是否正确!
2.我想知道正则表达式提取器(或json提取器)提取的值是否正确!
3.我想知道 JMeter 属性!
4,调试时服务器返回些什么内容!
当你遇到如上的问题时 可以使用调试取样器 帮助解决问题
以下是对调试取样器的参数说明
1 名称:控制器名称,可以随意设置,甚至可以为空。
2 注释:可以随意设置,可以为空
JMeter Properties:是否查看JMeter属性,默认为False。
JMeter Variables:是否查看运行时变量,默认为True。
System Properties:是否查看系统属性,默认为False。
正常情况下 只需要使用调试取样器的默认就足够 但是如果想要使用 jmeter的系统和jemter的属性时候哦需要将对应的参数变成True
这两个属性参数维护在jmeter 的bin目录下的 properties 和 system 中
换句话说 调试取样器可以显示 所有 jmeter参数化手段 制造的参数

如上是jmeter 调试取样器的实例
目前 调试取样器的使用 一般与 查看结果数结合 在添加调试取样器 之后 对应的结果 需要在查看结果数中才能看到
Beanshall取样器
对于取样器来说 jmeter的拓展性 主要体现在 Beanshall取样器上 这个取样器 的作用 概括成一句话 就是 当你想要在jmeter中实现的不是jmeter的自带功能的时候 这个取样器就派上了用场
由于beanshall取样器本身是个大的模块 在这边做简单的概述后 关于beanshall的使用 我会另起一个文档详细讲解

jmeter_04_常用取样器的更多相关文章
- jmeter 常用组件详解
1.测试计划(test plan) 描述一个性能测试,包含本次测试所有相关功能 2.threads(users)线程 Setup thread group: 一种特殊类型的线程,可用于执行预测试操作. ...
- Jmeter-测试计划,线程组,取样器,逻辑控制器,断言和监听器
一 测试计划: 是使用jmeter测试的起点,是其他测试元件的容器,一个完整的测试计划包括多个线程组,逻辑控制器,取样器,监听器,配置元件 用户定义的变量: 测试计划上可以添加用户定义的变量.一般添加 ...
- 性能测试—JMeter 常用元件(二)
性能测试—JMeter 常用元件(二) <零成本web性能测试>第三章 Web性能测试脚本录制与开发中JMeter常用测试元件 测试计划描述了JMeter运行时将会执行的一系列步骤,一个完 ...
- Jmeter常用线程组设置及场景运行时间计算
Jmeter中通过线程组来模拟大用户并发场景,今天主要介绍三个常用的线程组,帮助我们设计更加完善的测试场景,另外介绍下场景执行时间如何计算. 一.Thread Group 取样器错误后要执行的动作 ...
- jmeter常用四种断言
jmeter常用四种断言 一.Response Assertion(响应断言)二.Size Assertion(数据包字节大小断言)三.Duration Assertion(持续时间断言)四.bean ...
- Jmeter之正则表达式取样器~案例详解
正则:按照规则提取数据 场景:A请求获得的响应数据,需要作为B请求的提交数据(eg:A:购物车页面→B:下单(正则提取购物车的商品信息,数量信息等)) 常用正则表达式:(.+?) 辅助:添加Debug ...
- Jmeter之TCP取样器
1.在线程组中添加“TCP取样器” 2.填写数据 以下截图是必须配置的 TCPClient classname: 填写TCP报文格式(有三类),默认前缀:org.apache.jmeter.prot ...
- JMeter常用的4种参数化方式-操作解析
目录结构 一.JMeter参数化简介 1.JMeter参数化的概念 2.JMeter参数化方式之使用场景对比 二.JMeter参数化的4种主要方式-操作演练 1.User Parameters(用户参 ...
- jmeter常用组件简介
本文主要介绍jmeter使用过程中最常用的一些组件及其作用.性能测试时线程组中可以添加如下的组件,如图所示: test plan:测试计划,是其它组件的容器 thread:线程组,用来设置多少线程,怎 ...
随机推荐
- 【深入理解Linux内核架构】6.6 资源分配
一段摘自<Linux设备驱动程序>的话: 每种外设都通过读写寄存器进行控制.大部分外设都有多个寄存器,不管是内存地址空间还是I/O地址空间,这些寄存器的访问地址都是连续的. 在硬件层,内存 ...
- 用华为HMS ML kit人体骨骼识别技术,Android快速实现人体姿势动作抓拍
你有没有过这种体验,拍照时对着镜头,脑子一片空白.表情僵硬.手和脚无处安放,最后拍出来的照片很是奇怪.拍照软件中的固定姿势抓拍功能可以帮助你:选择一个你想要的姿势模板,当你摆出同款姿势时,软件会进 ...
- CSS 常见样式 特殊用法 贯穿线&徽章&箭头
### 贯穿渐变线,中间插值- 如图: >  ![在这里插入图片描述 ...
- PHP基础之面向对象篇
前言 前面写的都是运算符.流程控制.排序查找等,下面说一说面向对象的一些内容.这是前面写的,有兴趣可以去看一看. PHP入门之类型与运算符 PHP入门之流程控制 PHP入门之函数 PHP入门之数组 P ...
- python文档翻译之使用python解释器
Python解释器通常安装在/usr/local/bin/python3.6,把/usr/local/bin目录设置到UNIX shell的搜索路径就可以使用下面的命令运行python: python ...
- hystrix源码之hystrix请求变量
HystrixRequestContext 请求的上线文实现,内部定义了一个静态变量ThreadLocal,每个线程可以获取自己的HystrixRequestContext对象.一个请求往往由一个to ...
- 写一个简单的 Linux Shell (C++)
这里可以找到代码 github.com/z0gSh1u/expshell 支持的特性 单条指令的执行 引号引起的参数(如 $ some_program "hello, world" ...
- 人工智能顶级会议最佳论文里的“DaDianNao”是什么鬼?
最近对人工智能领域的 AI 加速芯片感兴趣,在翻阅 Google 的第一代 TPU 论文时,在相关工作中看到了 DaDianNao,PuDianNao,ShiDianNao.看的我一脸懵逼,这是什么? ...
- 群光电子-koremes3 ORA-600 [kjxmgmb_nreq:!bat]
Bug 20250147 ORA-600 [kjxmgmb_nreq:!bat] can occur in RAC crashing the instance This note gives a ...
- Windows上使用jekyll+github搭建免费博客
jekyll+github搭建个人博客 (一)下载Ruby (二)安装jekyll (三)开启jekyll服务器 (四)使用github展示博客 一.下载Ruby Ruby,一种简单快捷的面向对象(面 ...