jmeter-前置处理器介绍与使用

  • JSR223 PreProcessor
  • 用户参数
  • HTML链接解析器
  • HTTP URL 重写修饰符
  • JDBC PreProcessor
  • RegEx User Parameters
  • Sample Timeout
  • BeanShell PreProcessor

JSR223 PreProcessor

用法类似Beanshell 取样器,可以参考7. Jmeter导入jar包这篇文章。具体用法如下图所示

import com.seling.test.BeanShellEg;
import com.seling.test.BeanUtil; BeanShellEg bs = new BeanShellEg("wangwang","南京"); vars.put("username",bs.getUserName());

运行结果如下:

用户参数

简单来说就是给不同线程组(用户)使用不一样的变量值。官方这张图很好的诠释用户参数的用法,如下图所示:比如user1的username和password分别是user1和pass1,user2的username和password分别是user2和pass2

HTML链接解析器

HTML链接解析器笔者看来有点像正则表达式。用个例子解释下,现在又一个HTML页面,如下代码所示:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title> </head>
<body> <form method="post" action="test2">
<input type="checkbox" name="colors" value="red" id="red">红色<br>
<input type="checkbox" name="colors" value="blue" id="blue">蓝色<br>
<input type="checkbox" name="colors" value="green" id="green">绿色
<input type="submit" name="submit" > </form> </body>
</html>

然后有一组checkbox,,有红蓝绿三种颜色可选,那么我在jmeter里面设置一个变量,变量名为colors,变量的值可能是红蓝绿三种颜色任一一种。脚本设置如下所示:





运行结果如下:

通过以上几张图我们发现,a请求是访问表单页面,b请求才是提交。b请求我们设置了一个变量,叫colors,那么colors是哪来的呢?没错就是input标签里面的name值。那么HTML链接解析器在这个例子当中是怎么用的呢?就是找colors。这里我们需要注意一下,jmeter变量colors一定要等于input标签里的name值。HTML链接解析器找到name="colors"的值,然后赋值给变量colors。发送b请求时,带上colors这个参数,并且值是等于红蓝绿。嗯。。写了那么多,不推荐使用,太麻烦了。。。

JDBC PreProcessor

这个和JDBC Request完全一样,叫法不一样。醉了醉了。后面我们讲到取样器再来讲它。

Sample Timeout

这个不用多说,比如请求如果超过10000ms,那么将会被中断。

BeanShell PreProcessor

用法类似Beanshell 取样器,可以参考7. Jmeter导入jar包这篇文章。也可以参考JSR223 PreProcessor

HTTP URL 重写修饰符

略(没想到具体用法)

RegEx User Parameters

配合regular expression extractor使用。暂时没找到好的例子,后面想到补充。。

软件测试汪简书地址

软件测试汪博客地址

欢迎关注微信公众号:软件测试汪。软件测试交流群:809111560

转载请注意出处,谢谢合作

9. Jmeter-前置处理器的更多相关文章

  1. jmeter 前置处理器提取用户cookie信息 比如jsessionid

    一般登录过程分成两步,一步是打开登录页面, 一步是输入用户名和密码登录 现在B/S架构的系统好多时候都只在客户端的cookie信息保留一个jsessionId,然后每次请求的时候在请求的头信息的coo ...

  2. Jmeter 前置处理器 BeanShell_PreProcessor 适用思考

    首先摘抄一段官方文档的话: Before invoking the script, some variables are set up in the BeanShell interpreter: lo ...

  3. JMeter—前置处理器(九)

    参考<全栈性能测试修炼宝典JMeter实战>第六章 JMeter 元件详解中第四节前置处理器前置处理器用来处理请求前的一些准备工作,比如参数设置.环境变变量设置等 一.BeanShell ...

  4. Jmeter(十六) - 从入门到精通 - JMeter前置处理器(详解教程)

    1.简介 前置处理器是在发出“取样器请求”之前执行一些操作.如果将前置处理器附加到取样器元件,则它将在该取样器元件运行之前执行.前置处理器最常用于在取样器请求运行前修改其设置,或更新未从响应文本中提取 ...

  5. JMeter学习笔记--JMeter前置处理器

    前置处理器被用来修改作用域内的采样器 HTML 链接解析器:解析从服务器得到的HTML响应,并从中提取链接和表单,使用perl型的正则表达式来寻求匹配项. HTML URL重写修饰符:使用URL重写来 ...

  6. Jmeter BeanShell前置处理器、取样器、后置处理器

    前置处理器:BeanShell PreProcessor取样器 :BeanShell Sampler后置处理器:BeanShell PostProcessor 1.前置 import org.apac ...

  7. 第四篇 Postman之Pre-request Script(前置处理器:JS之 YYYY-MM-DD HH:MM:SS)

    本篇来讲讲Pre-request Script 前置处理器,定义在发送request之前需要运行的一些脚本,应用场景主要是设置全局变量和环境变量. 本例子也是项目中遇到的,需要修改与客户的预约时间,但 ...

  8. Jmeter(六)_前置处理器

     BeanShell PreProcessor  使用BeanShell在请求进行之前进行操作.语法使用与BeanShell Sampler是一样的.但可使用的内置变量稍有不同 参考示例 Jmeter ...

  9. 【JMeter】前置处理器

     BeanShell PreProcessor  使用BeanShell在请求进行之前进行操作.语法使用与BeanShell Sampler是一样的.但可使用的内置变量稍有不同    JDBC Pre ...

  10. JMeter - 后处理器/脚本语言 - 比较

    当我们使用JMeter / Response数据处理进行密集负载测试时,我们可能会非常小心我们选择的后处理器/脚本语言的类型.在这篇文章中,我想说明这些后处理器/脚本语言如何影响测试的整体性能. 我们 ...

随机推荐

  1. springboot 应用程序的文件检索描述

    SpringApplication从application.properties以下位置的文件加载属性并将它们添加到Spring Environment: 一个/config当前目录下的子目录. 当前 ...

  2. PHP DOMDocument操作 XML类 属性、方法

    属性: Attributes 存储节点的属性列表(只读) childNodes 存储节点的子节点列表(只读) dataType 返回此节点的数据类型 Definition 以DTD或XML模式给出的节 ...

  3. Linux操作系统(五)_部署Zentao

    一.部署Zentao 1.检查服务器信息 uname -a 2.下载相应的部署包(一键安装包) http://dl.cnezsoft.com/zentao/9.8.1/ZenTaoPMS.9.8.1. ...

  4. mybatis的一些小细节

    Mybatis要解决的问题: 1. 将sql语句硬编码到java代码中,如果修改sql语句,需要修改java代码,重新编译.系统可维护性不高. 设想如何解决? 能否将sql单独配置在配置文件中. 2. ...

  5. WEBRTC三种类型(Mesh、MCU 和 SFU)的多方通信架构

    WebRTC 本身提供的是 1 对 1 的通信模型,在 STUN/TURN 的辅助下,如果能实现 NAT 穿越,那么两个浏览器是可以直接进行媒体数据交换的:如果不能实现 NAT 穿越,那么只能通过 T ...

  6. python基础----以面向对象的思想编写游戏技能系统

    1. 许多程序员对面向对象的思想都很了解,并且也能说得头头是道,但是在工作运用中却用的并不顺手. 当然,我也是其中之一. 不过最近我听了我们老师的讲课,对于面向对象的思想有了更深的理解,今天决定用一个 ...

  7. Ptyhon变量,常量,注释

    变量的命名规则: 1.变量由字母,数字,下划线搭配而成 2.变量不能以数字开头 3.变量也不能是Python的关键字. 4.变量不要有中文 5.名字要有意义 6.名字不要太长 变量的两种命名方式: 1 ...

  8. js 中的深拷贝与浅拷贝

    在面试中经常会问到js的深拷贝和浅拷贝,也常常让我们手写,下面我们彻底搞懂js的深拷贝与浅拷贝. 在js中 Array 和 Object  这种引用类型的值,当把一个变量赋值给另一个变量时,这个值得副 ...

  9. 如何用Mybatis分库分表

    分库 在分库的时候 有时候为了方便 一些表需要存放所有库的信息,称为全局库.如:用户表存放所有的用户. 此时分库的思路 数据库分为全局库和业务库,其中业务库又分为N多个库,全局库只放个别表方便开发. ...

  10. 56.Decode String(解码字符串)

    Level:   Medium 题目描述: Given an encoded string, return it's decoded string. The encoding rule is: k[e ...