10. Jmeter-后置处理器一

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

850206-20190919105857198-1916166646.png

今天我们先讲

  • CSS/JQuery Extractor
  • JSON Extractor
  • Boundary Extractor
  • 正则表达式提取器

CSS/JQuery Extractor

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

  • 名称
  • 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>

850206-20190919105929601-1696353604.png
850206-20190919105936742-1184417942.png
850206-20190919105943311-2045660714.png
850206-20190919105951997-319660745.png

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

JSON Extractor

850206-20190919110007732-1667606725.png

  • 名称: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实例

850206-20190919110020355-1775186673.png
850206-20190919110027669-1738023504.png
850206-20190919110036044-1657481476.png
850206-20190919110043965-233037924.png

运行结果
850206-20190919110052714-965553256.png
850206-20190919110100207-38416383.png

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

Boundary Extractor

850206-20190919110115798-775450485.png

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

Boundary Extractor实例
850206-20190919110124953-1470813412.png
850206-20190919110131175-1160123886.png
850206-20190919110141468-2144505938.png

运行结果
850206-20190919110151279-1882014432.png
850206-20190919110158663-1687766702.png

因为我们设置了左边界是"s,右边界是",所以匹配到的是tatus

正则表达式提取器

850206-20190919110208503-1162046834.png

正则一直用不好,就不在这献丑了。各位看官自己看些文章~但是用法和上面几个后置处理器类似,只要掌握正则表达式即可。

软件测试汪简书地址
软件测试汪博客地址

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

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

转载于:https://www.cnblogs.com/suim1218/p/11547774.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值