10. Jmeter-后置处理器一
jmeter-后置处理器介绍与使用一

今天我们先讲
- CSS/JQuery Extractor
 - JSON Extractor
 - Boundary Extractor
 - 正则表达式提取器
 
CSS/JQuery Extractor
官方介绍:允许用户使用CSS Selector语法从服务器HTML响应中提取值。 作为后处理器,此元素将在其范围内的每个Sample请求之后执行,应用CSS / JQuery表达式,提取所请求的节点,将节点提取为文本或属性值并将结果存储到给定的变量名称中。

- 名称
 - Apply to
- Main sample only 仅适用于主要样本
 - Sub-samples only 仅适用于子样本
 - Main sample and sub-samples 主要样本和子样本
 - JMeter Variable Name to use 用作Jmeter变量名称
 
 - 引用名称 也就是jmeter里面的变量
 - CSS选择器表达式 CSS表达式
 - 属性 要提取的元素的属性。示例:红色
,那么这里的属性就是value,因为我们要提取red - 匹配数字 0随机一个,否则索引(从1开始)
 - 缺省值 在无法提取内容的情况下放入变量的值。
 
CSS/JQuery Extractor实例
test_radio HTML代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>testdog</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>




首先我们访问test_radio路径,test_radio代码如上,我们从返回的HTML代码中想要取到value,就是用CSS表达式(注意Jquery是不支持的,为啥还叫Jquery表达式就有点奇怪了,大家可以看官方文档)红色的id是red,所以我们使用#red,属性的话就是value,取到的值我们赋值给变量color,缺省值我们设置为NOT FOUND。test_baidu使用color变量作为值进行请求。
JSON Extractor

- 名称:json后置表达式的名称,标识作用,建议使用有意义的名字
 - name of created variables:保存的变量名,后面使用${Variable names}引用
 - JSON Path expressions:上一步中调试通过的json path表达式
 - Match Numbers:匹配数字(0代表随机,1代表第一个,-1代表所有)
 - Default Values:找不到时默认值,一般设置为NOT FOUND
 - Compute concatenation var(suffix_ALL):是否统计所有,即将匹配到的所有值保存,名为“变量名_ALL”
 
JSON Extractor实例




运行结果


首先我们访问login路径,login运行结果如上,我们从返回的json数据中取到status,就是用json path表达式,取到的值我们赋值给变量status,缺省值我们设置为NOT FOUND。test_baidu使用status变量作为值进行请求。login接口是使用django开发的,如果大家对开发感兴趣,可以参考我的每天半小时学习Python接口自动化,里面除了讲到开发知识还有接口自动化测试相关知识
Boundary Extractor

套路遵循上面CSS/JQuery Extractor、JSON Extractor。就不翻译了。
Boundary Extractor实例



运行结果


因为我们设置了左边界是"s,右边界是",所以匹配到的是tatus
正则表达式提取器

正则一直用不好,就不在这献丑了。各位看官自己看些文章~但是用法和上面几个后置处理器类似,只要掌握正则表达式即可。
欢迎关注微信公众号:软件测试汪。软件测试交流群:809111560
转载请注意出处,谢谢合作
10. Jmeter-后置处理器一的更多相关文章
- Jmeter(十八) - 从入门到精通 - JMeter后置处理器 -下篇(详解教程)
		
1.简介 后置处理器是在发出“取样器请求”之后执行一些操作.取样器用来模拟用户请求,有时候服务器的响应数据在后续请求中需要用到,我们的势必要对这些响应数据进行处理,后置处理器就是来完成这项工作的.例如 ...
 - JMeter—后置处理器(十)
		
参考<全栈性能测试修炼宝典JMeter实战>第六章 JMeter 元件详解中第五节后置处理器后置处理器是用来处理采样器发送的请求后得到的响应数据 一.Debug PostProcessor ...
 - Jmeter 后置处理器--jp@gc - JSON/YAML Path Extractor & JSON Extractor
		
后置处理器--jp@gc - JSON/YAML Path Extractor 1.需要下载插件,地址: 解压后把对应jar包放置对应的lib和lib/ext目录下,重启Jmeter: 2.在需要提取 ...
 - Jmeter(十七) - 从入门到精通 - JMeter后置处理器 -上篇(详解教程)
		
1.简介 后置处理器是在发出“取样器请求”之后执行一些操作.取样器用来模拟用户请求,有时候服务器的响应数据在后续请求中需要用到,我们的势必要对这些响应数据进行处理,后置处理器就是来完成这项工作的.例如 ...
 - 二、Jmeter 后置处理器(BeanShell PostProcessor)
		
1.新建JDBC Request,如下图所示: 重要的参数说明: Variable Name:数据库连接池的名字,需要与JDBC Connection Configuration的Variable N ...
 - 通过JMETER后置处理器JSON Path Extractor插件来获取响应结果
		
学生金币充值接口:该接口有权限验证,需要admin用户才可以做操作,需要添加cookie.cookie中key为登录的用户名,value从登录接口中获取,登陆成功之后会返回sign. 通常做法是在HT ...
 - jmeter后置处理器  JSON Extractor取多个变量值
		
1.需要获取响应数据的请求右键添加-后置处理器-JSON Extractor 2.如果要获取json响应数据多个值时,设置的Variable names (后续引用变量值的变量名设置)与JSON Pa ...
 - Jmeter 后置处理器
		
1.JSON Extractor Json extractor 后置处理器用在返回格式为 Json 的 HTTP 请求中,用来获取返回的 Json 中的某个值.并保存成变量供后面的请求进行调用或断言等 ...
 - Jmeter 后置处理器 BeanShell_PostProcessor 适用思考
		
首先摘抄一段官方文档的话: The following BeanShell variables are set up for use by the script: log - (Logger) - c ...
 - 六、Jmeter后置处理器JSON Extractor
		
一.当接口返回是JSON格式的时候,就可以用JSON Extractor来抓取返回的值,用来关联或者断言. 1.首先,到V2EX中找一个接口,地址为:https://www.v2ex.com/p/7v ...
 
随机推荐
- init函数和匿名函数
			
init函数: 基本介绍: 每一个源文件都可以包含一个init函数,该函数会在main函数执行前,被Go运行框架调用,也就是说init会在main函数前被调用. 案例说明: //init函数,通常可以 ...
 - Git相关命令整理
			
git config --global user.name //配置姓名git config --global user.email //配置邮箱git config --list //查看配置 ...
 - JS中的Boolean数据类型
			
Boolean布尔数据类型 只有两个字面值:true和false,这两个值与数字值不是一回事,因此true不一定等于1,而false也不一定等于0. 把其他类型转换为布尔类型 只有0.NaN.''.n ...
 - 创建一个java项目并部署到weblogic服务器
			
转自:https://blog.csdn.net/krystal_sl/article/details/52847953 新建一个项目的步骤 打开eclipse,右键点击new–>java pr ...
 - PHP-不涉及第三个变量交换两个变量的值
			
不涉及第三个变量交换两个变量的值 方法1:使用加减法 <?php $a = 1; $b = 2; $a = $a+$b; $b = $a-$b; $a = $a-$b; printf(" ...
 - 2018-2-13-C#-复制列表
			
title author date CreateTime categories C# 复制列表 lindexi 2018-2-13 17:23:3 +0800 2018-2-13 17:23:3 +0 ...
 - query_module - 向内核查询和模块有关的各个位
			
总览 #include <linux/module.h> int query_module(const char *name, int which,void *buf, size_t bu ...
 - LINUX Mysql5.6.19 安装
			
1.需要扩展安装 yum -y install make bison gcc-c++ cmake ncurses ncurses-devel 2.下载Mysql5.6.19 wget ftp://mi ...
 - 全球的IPv6部署急剧增加,但中国几乎没有一个地方部署?
			
全球的IPv6部署继续增加,但中国在IPv6方面还需要努力,从部署图上分析,中国几乎没有几个地方是普及IPv6的.这6年来,自世界IPv6发布以来,全球网络和服务提供商的IPv6部署水平急剧增加.如图 ...
 - Java二级上机训练
			
NCRE上机训练一 import javax.swing.JOptionPane; /** * 并完成两个整数的输入,计算乘积,最后按确定键退出程序. */ public class Java_1 { ...