常用取样器详解

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:如果指定,这将创建包含行映射列表的对象变量。每个映射包含列名称作为键,列数据包含值。用途:

​ 这个是将 请求结果以列表的格式参数化; 可以通过 调试取样器 观察取样器结果 确定参数化成功与否以及如何引用参数化 的 参数

  1. Query timeout:查询超时时间;、
  2. 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_常用取样器的更多相关文章

  1. jmeter 常用组件详解

    1.测试计划(test plan) 描述一个性能测试,包含本次测试所有相关功能 2.threads(users)线程 Setup thread group: 一种特殊类型的线程,可用于执行预测试操作. ...

  2. Jmeter-测试计划,线程组,取样器,逻辑控制器,断言和监听器

    一 测试计划: 是使用jmeter测试的起点,是其他测试元件的容器,一个完整的测试计划包括多个线程组,逻辑控制器,取样器,监听器,配置元件 用户定义的变量: 测试计划上可以添加用户定义的变量.一般添加 ...

  3. 性能测试—JMeter 常用元件(二)

    性能测试—JMeter 常用元件(二) <零成本web性能测试>第三章 Web性能测试脚本录制与开发中JMeter常用测试元件 测试计划描述了JMeter运行时将会执行的一系列步骤,一个完 ...

  4. Jmeter常用线程组设置及场景运行时间计算

    Jmeter中通过线程组来模拟大用户并发场景,今天主要介绍三个常用的线程组,帮助我们设计更加完善的测试场景,另外介绍下场景执行时间如何计算. 一.Thread Group 取样器错误后要执行的动作   ...

  5. jmeter常用四种断言

    jmeter常用四种断言 一.Response Assertion(响应断言)二.Size Assertion(数据包字节大小断言)三.Duration Assertion(持续时间断言)四.bean ...

  6. Jmeter之正则表达式取样器~案例详解

    正则:按照规则提取数据 场景:A请求获得的响应数据,需要作为B请求的提交数据(eg:A:购物车页面→B:下单(正则提取购物车的商品信息,数量信息等)) 常用正则表达式:(.+?) 辅助:添加Debug ...

  7. Jmeter之TCP取样器

    1.在线程组中添加“TCP取样器” 2.填写数据 以下截图是必须配置的 TCPClient classname:  填写TCP报文格式(有三类),默认前缀:org.apache.jmeter.prot ...

  8. JMeter常用的4种参数化方式-操作解析

    目录结构 一.JMeter参数化简介 1.JMeter参数化的概念 2.JMeter参数化方式之使用场景对比 二.JMeter参数化的4种主要方式-操作演练 1.User Parameters(用户参 ...

  9. jmeter常用组件简介

    本文主要介绍jmeter使用过程中最常用的一些组件及其作用.性能测试时线程组中可以添加如下的组件,如图所示: test plan:测试计划,是其它组件的容器 thread:线程组,用来设置多少线程,怎 ...

随机推荐

  1. linux下查找文件中的某个关键字

    1.方法一:grep '关键字' filename 2.方法二:vim filename进入文件里面,不要进入insert编辑模式,直接在normal模式下输入/关键字进行搜索 按n进行查找下一个

  2. 内存管理初始化源码5:free_area_init_nodes

    start_kernel ——> setup_arch ——> arch_mem_init ——> |——> bootmem_init  |——> device_tree ...

  3. JVM-垃圾回收篇

    目录 JVM-垃圾回收篇 前言 举个例子 JVM 有哪些垃圾回收算法? 标记-清除算法 复制算法 标记-整理算法 分代收集算法 JVM 有哪些垃圾回收器? 概述 几个相关概念 一:Serial 收集器 ...

  4. PJzhang:vulnhub靶机sunset系列SUNSET:TWILIGHT

    猫宁~~~ 地址:https://www.vulnhub.com/entry/sunset-twilight,512/ 关注工具和思路. nmap 192.168.43.0/24靶机IP192.168 ...

  5. idea配置springboot项目记录

    配置文件application.properties server.port=80 server.servlet.context-path=/bookManage spring.mvc.static- ...

  6. 关于微信小程序官网的使用

    我们在看微信支付相关的东西的时候,会发现有些想找的地址不好找,,没看到入口,接下来我就是整理了一下 链接: https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa ...

  7. Linux安装软件总结

    1.安装jdk1.8 1.首先去官网下载jdk https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133 ...

  8. 关于properties文件的一些问题

    在写properties文件时,比如jdbc.properties文件配置连接数据库的账号密码时,不要留有空格,不然会报错 com.mchange.v2.resourcepool.CannotAcqu ...

  9. C#设置装配加载选项

    NX在打开装配时,需要设置加载方式,如下图所示: 因此,当装配进行了拷贝之后,PART路径变化,再次用NX打开时,会报无法加载的错误.这时需要重新设置从搜索文件夹打开,再次保存之后,之后再按照保存打开 ...

  10. OSPF及实验

    OSPF:Open Shortest Path First,最短路径优先1)基本概念:标准的LS型协议--共享拓扑组播更新:224.0.0.5/6触发更新,存在周期更新  30minOSPF是跨层封装 ...