9. Jmeter-前置处理器
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-前置处理器的更多相关文章
- jmeter 前置处理器提取用户cookie信息 比如jsessionid
一般登录过程分成两步,一步是打开登录页面, 一步是输入用户名和密码登录 现在B/S架构的系统好多时候都只在客户端的cookie信息保留一个jsessionId,然后每次请求的时候在请求的头信息的coo ...
- Jmeter 前置处理器 BeanShell_PreProcessor 适用思考
首先摘抄一段官方文档的话: Before invoking the script, some variables are set up in the BeanShell interpreter: lo ...
- JMeter—前置处理器(九)
参考<全栈性能测试修炼宝典JMeter实战>第六章 JMeter 元件详解中第四节前置处理器前置处理器用来处理请求前的一些准备工作,比如参数设置.环境变变量设置等 一.BeanShell ...
- Jmeter(十六) - 从入门到精通 - JMeter前置处理器(详解教程)
1.简介 前置处理器是在发出“取样器请求”之前执行一些操作.如果将前置处理器附加到取样器元件,则它将在该取样器元件运行之前执行.前置处理器最常用于在取样器请求运行前修改其设置,或更新未从响应文本中提取 ...
- JMeter学习笔记--JMeter前置处理器
前置处理器被用来修改作用域内的采样器 HTML 链接解析器:解析从服务器得到的HTML响应,并从中提取链接和表单,使用perl型的正则表达式来寻求匹配项. HTML URL重写修饰符:使用URL重写来 ...
- Jmeter BeanShell前置处理器、取样器、后置处理器
前置处理器:BeanShell PreProcessor取样器 :BeanShell Sampler后置处理器:BeanShell PostProcessor 1.前置 import org.apac ...
- 第四篇 Postman之Pre-request Script(前置处理器:JS之 YYYY-MM-DD HH:MM:SS)
本篇来讲讲Pre-request Script 前置处理器,定义在发送request之前需要运行的一些脚本,应用场景主要是设置全局变量和环境变量. 本例子也是项目中遇到的,需要修改与客户的预约时间,但 ...
- Jmeter(六)_前置处理器
BeanShell PreProcessor 使用BeanShell在请求进行之前进行操作.语法使用与BeanShell Sampler是一样的.但可使用的内置变量稍有不同 参考示例 Jmeter ...
- 【JMeter】前置处理器
BeanShell PreProcessor 使用BeanShell在请求进行之前进行操作.语法使用与BeanShell Sampler是一样的.但可使用的内置变量稍有不同 JDBC Pre ...
- JMeter - 后处理器/脚本语言 - 比较
当我们使用JMeter / Response数据处理进行密集负载测试时,我们可能会非常小心我们选择的后处理器/脚本语言的类型.在这篇文章中,我想说明这些后处理器/脚本语言如何影响测试的整体性能. 我们 ...
随机推荐
- Linux随笔 - Linux LVM逻辑卷配置过程详解[转载]
许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,一旦系统分区不够用时可能不得不备份.删除相关数据,甚至被迫重新规划分区并重装操作系统,以 ...
- VS2017/VS2019 git Authentication failed for "XXXXXXXXXx"
解决办法: 控制面板,凭证管理==>删掉 对应代码仓库地址的凭证.删掉,是删掉.因为我更新了还是没有用.
- <JAVA - 大作业(1)文本编辑器 >
<JAVA - 大作业(1)文本编辑器 > 背景 JAVA上机大作业:qq / 代码评价系统 第一次上机主题是练习JAVA自带的GUI图形化编程 目的:实现一个跟window10记事本界面 ...
- QTP使用dictionary 对象
1. 创建即使用Dictionary对象 ' 创建Dictionary对象Set Dic = CreateObject("Scripting.Dictionary")' 添加Dic ...
- IIS 解决跨域问题
打开 HTTP响应标头 添加如下三条 名称Access-Control-Allow-Origin 值*名称Access-Control-Allow-Headers 值Content-Type,Ac ...
- 第八组Postmortem事后分析
第八组Postmortem事后分析 一.团队成员总结的改进和教训 隆晋威:Beta阶段完善架构设计,分工更加明确,文档更丰富,交流带来开销减少.Alpha技术选型不固定,分工混乱,没有方便的测试引擎, ...
- C# Aspose.Words 数据写入到word,模板样式复杂(转换指定内容并返回多张图片)
public ResultResponse<string[]> PrintStudyRecords([FromBody]StudyInfo info) { ResultResponse&l ...
- Nginx动静分离基本概述
Nginx动静分离基本概述 动静分离,通过中间将动静分离和静态请求进行分离: 通过中间件将动态请求和静态请求分离,可以建上不必要的请求消耗,同时能减少请求的延时. 通过中间件将动态请求和静态请求分离, ...
- nginx 反向代理服务
目录 Nginx代理服务基本概述 Nginx代理服务常见模式 Nginx代理服务支持协议 Nginx反向代理配置语法 Nginx反向代理场景实践 配置代理实战 在lb01上安装nginx Nginx代 ...
- js 在array的遍历操作中修改arry中元素数量 出现的一些奇特的操作
在js中array是属于复杂类型,在arr1=arr2得赋值操作中,arr1得到的值并不是arr2的value,而是一个指向引用.那么修改arr1的同时arr2读取的值也会同步变化,那么问题来了,上代 ...