LoadRunnner中的关联为web_reg_save_param,查找左右边界,下次请求的时候会用到上次请求服务器返回的数据,那么我们把符合左右边界的数据保存下来,以便下次请求的时候用到。

  jmeter中的关联为使用正则表达式,把数据保存下来。

  无论哪种形式的关联或者工具的关联,其本质是不变的,变得是不同的工具提供的不同的操作方法。

  Jmeter中的关联

  通过对本地文件的引用来完成关联

  在Test Plan下创建如下线程组、然后在线程组下面创建HTTP Request、View Result Tree、Debug Sampler、Regular Expression Extractor 

  

  1、HTTP Request的设置:

  

  Implementation我们一般选择 HttpClient4,协议为:file(因为为本地文件),方法:GET,编码:uft-8

  D盘jmeter.txt文件内容为:

  This is abcdefg34656jshshsjsksjskj。
  sjdlsksknsaknjsnd
  sdnasjmkssj
  jssnsknskjssjsjsssksssjxjkdxjsjxalsxjss
  jskss
  Name="TOME" Value="Jerry"

  2、Regular Expression Extractor的设置:

  

  其中Apply to是这个正则表达式应用范围:主采样器和子采样器、只应用在主采样器、只应用在子采样器、JMeter变量,我们根据实际需要选择;

  Field to check:检查的区域,Body、Body(unescaped)、Body as a Document、Response Headers(响应头)、Request Headers(请求头)、URL、Response Code、Response Message;

  Reference Name:名字我们可以自定义,但是最好是有意义的,见名知意;

  Regular Expression:根据实际关联的内容,进行正则表达式的关联;

  Template,模板——一般默认为$1$,如果关联的是两个值,可以写成$1$$2$;

  Macth No.1:选择第几次匹配到的值,有可能一个Sampler下面匹配到多个值,这时这个变量就可以用到,0代表随机取,可以用在每次取到的值是一样的情况下,一般我们只  匹配第一次,所以写1,-1代表所有都匹配到。

  Default Value:如果没有匹配到的值为,我们可以自定义,也可以用默认的empty值;

  正则表达式的规则为:

  

  

      *:代表任意长度

  3、运行,查看结果树:

  

  我们可以查看到session、session_g、session_g0、session_g1

  如果文件内容为:

  This is abcdefg34656jshshsjsksjskj。1234。
  sjdlsksknsaknjsnd
  sdnasjmkssj
  jssnsknskjssjsjsssksssjxjkdxjsjxalsxjss
  jskss

  Name="TOME" Value="Jerry"
  那么运行结果为:

  

  显然不是我们想要的结果,应该是我们的正则表达式的规则不完整导致,更改正则表达式的规则为:

  (.+?):代表匹配任意多个字符,并且找到匹配的结果之后马上停止查找;

  结果为:

  

  如果想匹配Name="TOME" Value="Jerry",正则表达式为:

  

  结果为:

  

  我们可以看到session为两个连起来的字符串,这个和我们正则表达式的模板是一致的,如果我们模板设为$1$aaa$2$,那么结果为session=TOMEaaaJerry。

jmeter的关联-正则表达式的应用的更多相关文章

  1. JMeter中的关联-正则表达式提取(1)

    运用Jmeter正则提取器,可以从请求的响应结果中取到需要的内容,从而实现关联. jmeter之关联 的个人理解: 关联是请求与请求之间存在数据依赖关系,需要从上一个请求获取下一个请求需要回传回去的数 ...

  2. Jmeter关联,正则表达式提取器使用

     一.Jmeter关联的方式: Jmeter中关联可以在需要获取数据的请求上 右键-->后置处理器 选择需要的关联方式,如下图有很多种方法可以提取动态变化数据: 二.正则表达式提取器: 1.比如 ...

  3. Jmeter关联,正则表达式提取器使用1

    Jmeter关联,正则表达式提取器使用    一.Jmeter关联的方式: Jmeter中关联可以在需要获取数据的请求上 右键-->后置处理器 选择需要的关联方式,如下图有很多种方法可以提取动态 ...

  4. Jmeter—5 关联 响应数据传递-正则表达式提取器

    在测试过程中,遇到一个问题:用户登录成功后服务器会返回一个登录凭证,之后所有的操作都需要带上此凭证.我们怎么获取登录凭证并传递给后续的操作? Jmeter提供了正则表达式提取器,用变量提取参数,后续通 ...

  5. 【jmeter】关联-正则表达和xpath

    话说LoadRunner有的一些功能,比如:参数化.检查点.集合点.关联,Jmeter也都有这些功能,只是功能可能稍弱一些,今天就关联来讲解一下. JMeter的关联方法有两种:后置处理器-正则表达式 ...

  6. Jmeter之关联——常用提取器

    Jmeter关联 所谓关联,从业务角度讲,即:某些操作步骤与其相邻步骤存在一定的依赖关系,导致某个步骤的输入数据来源于上一步的返回数据,这时就需要“关联”来建立步骤之间的联系. 简单来说,就是:将上一 ...

  7. Jmeter(二)关联

    phpwind发贴时由于随着登陆用户的改变, verifycode是动态变化的, 因此需要用到关联. LoadRunner的关联函数是reg_save_param, Jmeter的关联则是利用后置处理 ...

  8. jmeter之关联的使用(正则、json)

    部分接口的测试中,一个接口会依赖上一个接口的响应信息,但上一个接口的响应信息又不是固定不变的,这时候,需要提取上一个接口的响应信息,将二者每一次的信息关联起来 目录 1.应用场景 2.jmeter正则 ...

  9. JMeter中的关联-正则表达式提取(2)

    JMeter获取正则表达式中的提取的所有关联值的解决方法: 需求如下: { : ", : "results": : [ : : { : : : "total_e ...

随机推荐

  1. React State&生命周期

    State&生命周期 State&生命周期 到目前为止我们只学习了一种方法来更新UI. 我们调用ReactDOM.render()来改变输出: function tick(){ con ...

  2. 稀疏表示step by step(转)

    原文地址:稀疏表示step by step(转)作者:野火春风 稀疏表示step by step(1)     声明:本人属于绝对的新手,刚刚接触“稀疏表示”这个领域.之所以写下以下的若干个连载,是鼓 ...

  3. 隐藏和显示<td>

    <td id="ifXc"><input type="text" value="1"></td>隐藏$( ...

  4. Java程序员面试题收集(5)

    Java基础方面: 1.作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域 当前类 同一package 子孙类 其他package public √ √ ...

  5. Jquery点击加载更多

    一.点击加载更多有点像分页获取数据类似,下面是本人写的一个简单的小例子 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona ...

  6. mybatis框架学习:

    一.什么是框架 它是我们软件开发中的一套解决方案,不同的框架解决的是不同的问题 使用框架的好处: 框架封装了很多的细节,使开发者可以使用极简的方式实现功能 大大提高开发效率 二.三层框架 表现层: 用 ...

  7. 洛谷P3300 城市规划

    题意:给你一个6 * n的网格题,单点修改,询问区间联通块数.n <= 10w 解:看起来就很显然的一道题......线段树每个点用一个ufs维护连通性.完了. 我为了方便思考把图转成横着的了. ...

  8. Django项目:CRM(客户关系管理系统)--25--17PerfectCRM实现King_admin单列排序

    登陆密码设置参考 http://www.cnblogs.com/ujq3/p/8553784.html {#table_data_list.html#} {## ————————08PerfectCR ...

  9. TZ_16ES6学习总结

    1.块级作用域的引入 在ES6之前,js只有全局作用域和函数作用域,ES6中let关键字为其引入了块级作用域. { var a = 5; let b = 6; } console.log(a); // ...

  10. python_数据类型_list

    names = ['one','two','three','four','five'] #列表切片 print(names[0:]) #['one', 'two', 'three', 'four', ...