jmeter正则表达式,萌新入门篇
@@@@@@@@@@@@
透过现象看本质
jmeter中正则表达式对我们来说,就是一个工具,他可以帮助我们做的事就是从一堆数据中截取出我们想要的字段,比如从setcookie:DERF12456DASFD421;/path这个字段中截取DERF12456DASFD421这一部分的内容,那么如何截取,思路就是:从setcookie:开始一直到;/path之前的内容,就是我们要截取的内容,好,有了这个思路,我们就要考虑如何让计算机代替我们做这个事情。首先了解一下正则表达式几个基础语法:
“()”:括号表示一个匹配的开始和结束。在括号里面的就是需要匹配的具体内容
“.”:表示匹配一个除了换行的任意字符,类似数据库的*,他代表任意字符
“+”:表示匹配一次或者多次
“?”:表示尽量少重复
如果(.+?)连起来的意思就是:尽可能不重复的匹配除了换行的任意字符一次或者多次。针对上面的字符串可以写一个这样的表达式setcookie:(.+?);/path,执行之后程序作了什么呢?程序会开始找“setcookie:”这个字段,如果找到了,则开始执行()中的内容。括号中是“尽可能不重复的匹配除了换行的任意字符一次或者多次”,则会找到“D”,然后没有结束,因为要匹配多次,所以会接着找“E”。依次重复,直到系统找到“;/path”这个字段,然后这期间匹配的内容就是正则表达式找到的内容。很明显“setcookie:”和“;/path”字段之间的多个字符是“DERF12456DASFD421”,所以最终会返回给我们“DERF12456DASFD421”这个字符串,这就是setcookie:(.+?);/path这个表达式这一次的工作内容。
休息分割线------------------------------------------
如果这部分你读懂了,能看懂(.+?)是什么意思了,恭喜你,你有着不同常人的天赋,因为正则表达式其实是很难理解的,(.+?)只是其中最最简单的一个部分,不过对于目前我们的工作来说够用了,大部分时候只需要在要匹配的字段开头和结尾之间加上(.+?)就可以匹配到我们想要的内容了。
理解了正则表达式的工作机制后,我们就要将其用到jmeter中,添加-后置处理器-正则表达式
比如需要提取登录后返回的cookie值,则需要将其放置在登陆请求后面或者里面,然后我们找cookie的开始标识和结束标识,不难发现,我的系统中cookie总是以Set-Cookie: 字段开始,以; path=/字段结束,所以我要取这两个字段之间的内容作为我的cookie值,正则表达式为:Set-Cookie: (.+?); path=/,这样就可以提取出登录的cookie值了
那么jmeter正则表达式具体怎么用呢,首先先来分析一下jmeter中的正则表达式的内容
Apply to:正则表达式应用范围
要检查的响应字段:即我们从哪里取截取数据
引用名称:等于变量名,正则表达式提取出来后在其他地方用什么名字引用他,你可以随便起名字,尽量英文,叫jitui都可以
正则表达式:即正则表达式内容
模板:有时候我们的正则表达式中不止一个(),前面说了()表示匹配开始和结束,那么多个()的时候我们具体需要使用哪个()里面的内容就需要用模板定义,规定语法$1$表示第一个括号的匹配内容,$2$表示第二个括号的匹配内容,依次类推。
匹配数字:我们使用时正则一般只会匹配到一个满足的结果,但是如果有多个结果就需要在这里说明我们具体用第几个结果,0表示随机取一个结果,1表示取全部结果,一般我们设置为0即可
缺省值:正则表达式未匹配到内容时的默认值
如果我们需要提取登录的cookie值,我们只需要做如下设置即可
然后其他地方,我们只需要调用该变量名即可实现变量的调用,变量调用格式为${jitui},比如下图将其放入请求header中.如变量部分有疑问,可阅读博主其他文档jmeter变量的使用
总结
一句话说,jmeter正则表达式可以帮助我们从一堆数据中找打我们想要的字段,并把它赋值给一个变量,如果我们需要用到这个字段的时候,通过变量去调用即可。正则表达式是一个很强大的功能,不仅仅限于此处的使用,如果有兴趣可以深入学习一下,对自己有好处,能开发智力,锻炼逻辑思维能力
本帖适合不懂正则表达式的萌新了解正则表达式,其中语言描述很通俗,所以和专业术语有偏差的地方可以暂时先不管,萌新领会精神后可以深入了解专业的正则表达式进阶语法
本
-- 以上内容均为笔者原创,转载请注明出处,如有不当欢迎指正
jmeter正则表达式,萌新入门篇的更多相关文章
- JMeter性能测试,完整入门篇
1. Jmeter简介 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件.相比Loadrunner而言,JMeter小巧轻便且免费,也越来越流行成为了主流的性能测试工具 ...
- JMeter性能测试,完整入门篇(转)
原文转自:https://blog.csdn.net/lovesoo/article/details/78579547 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件 ...
- 萌新入门Github请看这里,学不会远程教
一些废话 本文的主旨是为初次接触Github的同学提供一个入门的教程,如果你已经是Github老鸟,可以忽略本文哦,另外本文只是抛砖引玉,其实最好的教程是官方文档!!! Github官网 Github ...
- python之萌新入门的第一天
新人的挑战一:配置环境变量及正确地使用工具. 配置环境好难,照着教程做很简单,但是确定环境配置成功好难. 一开始运行helloworld程序的文件时一直出现SyntaxError:invaild sy ...
- Jmeter测试Mysql数据库-入门篇
一.jmter配置数据库 1.在配置jmter之前需要先安装数据库连接池驱动,进入到官方下载页面https://dev.mysql.com/downloads/connector/j/,下载对应的驱动 ...
- KM算法萌新讲解篇
KM算法 首先了解问题:也就是最大权值匹配: 二分图里,边带了权值,求整幅图里匹配最大/最小的权值 因为接触匈牙利算法的时候看的是找对象系列的博文,所以也自己写一发找对象的博文吧: 算法背景: 信 ...
- 萌新入门之python基础语法
首先我们先了解一些python最最基础的入门 1.标识符 定义:我们写代码的时候自己取得名字比如项目名,包名,模块名这些: 规范:1.数字/字母/下划线组成,不能以数字开头 2.起名字要见名知意 3. ...
- Vue初识:一个前端萌新的总结
一.前言 时隔三年,记得第一次写博客还是2015年了,经过这几年的洗礼,我也从一个后端的小萌新变成现在略懂一点点知识的文青.如今对于前端的东东也算有一知半解,个人能力总的来说,也能够独立开发产品级项目 ...
- 给萌新HTML5 入门指南
本文由葡萄城技术团队原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. HTML5的发展改变了互联网技术趋势,前端热度依旧不减,所以对于应用开发人员 ...
随机推荐
- 二.4vue展示用户数据及用户组操作以及给用户组添加额外字段
一.用户列表 1.新建(1)views/users/index.vue: <template> <div class="user-list-container"& ...
- 改变securecrt背景色
下拉菜单中点击 Session Options--->
- 你真的了解CSS继承吗?看完必跪
也许你瞧不起以前的 css ,但是你不该再轻视眼下的 css .近年来 css 的变量系统已逐步得到各大浏览器厂商支持,自定义选择器等强势袭来,嵌套系统/模块系统也在路上…为了更好的掌握 css 这门 ...
- Linux CentOS 7 防火墙/端口设置【转发】
CentOS升级到7之后用firewall代替了iptables来设置Linux端口, 下面是具体的设置方法: []:选填 <>:必填 [<zone>]:作用域(block.d ...
- 利用 React 高阶组件实现一个面包屑导航
什么是 React 高阶组件 React 高阶组件就是以高阶函数的方式包裹需要修饰的 React 组件,并返回处理完成后的 React 组件.React 高阶组件在 React 生态中使用的非常频繁, ...
- css3 自定义字体_使用@font-face方式实现个性化字体
当我们在浏览一些网站时发现,里面含有一些十分个性的字体,这些字体并不是我们电脑上安装的字体.那么css是如何实现自定义字体的呢? 资源网站大全https://55wd.com 在css3中可以通过@f ...
- List集合的遍历方式
遍历List集合的三种方法 List list = new ArrayList(); list.add("aaa"); list.add("bbb"); lis ...
- Java入门系列之访问修饰符作用范围
前言 之前以为Java和C#中访问修饰符差不多一样,后面才了解到还是有些差异,本节只讲解学习Java中访问修饰符一些需要注意的地方或者从概念上不太好理解我们会通过实际例子来说明,若有错误之处,还请批评 ...
- Spring Boot 2 实战:常用读取配置的方式
1. 前言 在Spring Boot项目中我们经常需要读取application.yml配置文件的自定义配置,今天就来罗列一下从yaml读取配置文件的一些常用手段和方法. 2. 使用@Value注解 ...
- python数据处理(七)之数据探索和分析
1.探索数据 1.1 安装agate库 1.2 导入数据 1.3 探索表函数 a.排序 b.最值,均值 c.清除缺失值 d.过滤 e.百分比 1.4 连结多个数据集 a.捕捉异常 b.去重 c.缺失数 ...