图截得比较完整,电脑端浏览器放大倍数看吧^_^,手机端可以点击图片然后放大看。

一个正则提取问题

前几天,在Q群和微信群里被同时@,咨询这样一个问题:服务器返回:name="tom"  value="jerry" ,要提取出name的值和value的值。
其实,我觉得这个需求是不明确的,到底是name和value提取出来拼接为一个字符串呢?还是分别保存name和value的值?我在群里问这位提问的群友,没答复,其实我都想忽略这个问题了,但是觉得这还是比较重要且基础的一个知识点,因为在jmeter中,正则表达式提取器是经常用到的,其实也比较简单,总之我比较喜欢用这个,也没遇到过提取不到的问题,但是正则却坑了一个又一个的测试人员,相当于做性能脚本就卡住了,就更别提压测的执行、监控、分析、定位、调优了(声明下,我用这个是用来做性能测试脚本)。
既然我说简单,那就一起跟着我的思路来操作一遍吧,我也当回顾练手了。前提是需要安装jmeter,参考:https://www.cnblogs.com/UncleYong/p/10731334.html

安装Dummy插件

这个插件可以模拟服务器返回,相当于一个mockserver了。
首先安装Dummy,选项--插件管理--可选插件--Dummy。

勾选后,点击右下方开始安装,安装完成后会自动重启jmeter。

模拟响应

添加线程组,在线程组下添加Dummy取样器(在Dummy取样器的响应数据中填入模拟返回数据)、查看结果树监听器,在Dummy下添加正则表达式提取器、调试后置处理程序(用于查看提取结果的)。

正则基础

参考:https://baike.baidu.com/item/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E4%B9%8B%E9%81%93

. 匹配除“\r\n”之外的任何单个字符。要匹配包括“\r\n”在内的任何字符,请使用像“[\s\S]”的模式。

* 匹配前面的子表达式(也可以是一个字符)任意次。例如,zo*能匹配“z”,也能匹配“zo”以及“zoo”。*等价于o{0,}

+ 匹配前面的子表达式一次或多次(大于等于1次)。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。

? 匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“do”或“does”中的“do”。?等价于{0,1}。

组合:

.*具有贪婪的性质,匹配到不能匹配为止,最大匹配原则。

+或*后跟?表示非贪婪匹配,即尽可能少的匹配,最小匹配原则。

.*? 表示在能匹配成功的前提下尽可能少的匹配,最小匹配原则。

正则表达式提取器

Apply to:一般保持默认选择Main sample only,这个用得最多,如果有sub-samples,可以选择第一个选项

要检查的响应字段:用得最多的是主体,即header+body,可以从响应头,也可以从响应体提取

引用名称:变量名,获取到的值存储到这个变量中

正则表达式:根据实际情况填写

模板:$1$,表示第一个正则表达式,如果有2个正则表达式,写为$1$$2$

匹配数字(0代表随机):一般填1,表示第一个,0表示随机,-1表示全部(此时提取结果是一个数组,如果引用名称是user,也可以通过${user_1}的方式来取第1个匹配的内容)

缺省值:没匹配到就用缺省值,我们可以设置一个,比如aaaaaa

name和value提取为一个字符串

运行结果

也可以用其它字符拼接,比如-,即如果模板写为:$1$-$2$,结果就是:nameandvalue=tom-jerry

name和value分别保存

name

value

运行结果

ok,就是这么简单,你觉得呢?欢迎交流。加群获取jxm脚本。

记录一次群答问:jmeter正则提取器轻松提取一个及多个值的更多相关文章

  1. 记录一次群答问:jmeter正则提取器提取一个及多个值

    图截得比较大,浏览器放大倍数看吧^_^ 前几天,在群里被@,咨询这样一个问题:服务器返回:name="tom"  value="jerry"  要提取出name ...

  2. Jmeter正则表达式提取器--将上一个请求的结果作为下一个请求的参数

    正则表达式提取器是一个后置处理器,作用是在请求完成后,从响应数据中截取一部分字符串保存到变量中,以便下一个请求使用 1.首先在线程组下添加两个HTTP请求, 2.添加好两个HTTP请求后,在每个HTT ...

  3. Jmeter_正则表达式提取器_提取数组 & For Each 控制器

    1.举例: https://demodaojia.ecjia.com/ 提取黄色标注的这些内容 2. 3. 匹配数字:-1 表示匹配全部,0表示随机一个 4. 5.我们获取了10组数据,通过正则提取器 ...

  4. Jmeter_正则表达式提取器_提取单组数据

    1.用处:提取登录信息/获取session或者token数值 2.举例:获取登录结果的获取:msg":"登录成功" 这个数据 3.HTTP->后置处理器->正 ...

  5. 【json提取器】- 提取数据的方法

    json 提取器的使用 方法 json 提取器  提取的结果   我用调试取样器进行查看

  6. 记录一次群答问:requests获取cookie

    问题: 为了测试,写的sever,下面仅为set cookie的部分代码 response = make_response('{"code":9420, "msg&quo ...

  7. JMeter 如何把上一个请求的结果作为下一个请求的参数 —— 使用正则提取器

    有这样一个压力测试环境,有一个上传页面,上传成功之后服务器会返回一些上传信息(比如文件的 id 或者保存路径之类的信息),然后压力机会继续下一个请求,比如调整 id 为 xx 的文件的一些信息等等.问 ...

  8. Jmeter系列(27)- 详解正则提取器

    如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 有了 JSON 提取器为啥还要用正则提 ...

  9. Jmeter之正则表达式提取器应用

    说到Jmeter正则表达式提取器的应用,就不得不说到关联.所谓关联,就是把应用中动态变化返回的数据获取到,把它保存为一个参数,提供给后面需要用到的地方进行使用. Jmeter中关联是通过“添加—后置处 ...

随机推荐

  1. QuantLib 金融计算——基本组件之 ExchangeRate 类

    目录 QuantLib 金融计算--基本组件之 ExchangeRate 类 概述 构造函数 成员函数 如果未做特别说明,文中的程序都是 python3 代码. QuantLib 金融计算--基本组件 ...

  2. linux阿里云服务器更换镜像的方法

    linux阿里云服务器更换镜像的方法 1 先进入硬盘创建快照 生成自定义镜像 ps:他可以在阿里云各个服务器上共享 再左侧镜像 点击去可以看到共享 直接进ecs 关闭服务器 重新初始化硬盘 然后主界面 ...

  3. [转帖]systemd 开机无法启动privoxy

    systemd 开机无法启动privoxy https://www.cnblogs.com/liuxuzzz/p/5329536.html 此博客不在更新,我的博客新地址:www.liuquanhao ...

  4. [转帖]ps 命令详解

    ps 命令详解 https://www.jianshu.com/p/cba22cce2f97 ps 概述 Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那 ...

  5. python利用dijkstra算法求解图中最短距离

    利用dijkstra算法,来完成图中两个顶点间最短的距离,可以直接复制使用,只需要修改参数即可 def dijkstra_raw(edges, from_node, to_node): "& ...

  6. SSRS连接ORACLE数据库制作报表

    SSRS报表基于ORACLE数据库做报表示例. 开发环境:VS2010 SQL SERVER 数据库:SQL SERVER 2012 PS:数据库连接部分可能有还有个问题就是ORACLE数据源这一部分 ...

  7. python卸载重新安装,一键安装卸载前的所有安装的第三方插件

    好多小可爱都有这样一个困扰,python有了一个大版本的更新,我也想更新,但是安装的好多第三方的库可怎么办呀,更新之后再去一个一个的安装,那可就烦死了. 在这里我来教大家如何快速去安装python更新 ...

  8. webpack等bundler是如何工作的-简化版本

    webpack- why and how 首先不要被webpack做的复杂花哨的工作所迷惑,到底webpack是个啥?一句话,webpack是一个module bundler(模块打包器).多一句话, ...

  9. php批量检查https证书有效期

    function get_cert_info($domain){ $context = stream_context_create(['ssl' => [ 'capture_peer_cert' ...

  10. ip2region.jar实现ip转地址

    ip转地址 根据ip地址查询出所在地址. GitHub地址 https://github.com/lionsoul2014/ip2region/ pom坐标 <dependency> &l ...