zoukankan      html  css  js  c++  java
  • jmeter_04_常用取样器

    常用取样器详解

    http取样器


    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的使用 我会另起一个文档详细讲解


  • 相关阅读:
    docker 部署aps.net MVC到windows容器
    docker 搭建私有仓库 harbor
    解决关于:Oracle数据库 插入数据中文乱码 显示问号???
    ionic cordova build android error: commamd failed with exit code eacces
    cordova build android Command failed with exit code EACCES
    Xcode 10 iOS12 "A valid provisioning profile for this executable was not found
    使用remix发布部署 发币 智能合约
    区块链: 编译发布智能合约
    mac 下常用命令备忘录
    JQuery fullCalendar 时间差 排序获取距当前最近的时间。
  • 原文地址:https://www.cnblogs.com/Psara/p/13448040.html
Copyright © 2011-2022 走看看