zoukankan      html  css  js  c++  java
  • Jmeter——关联与正则

      关联,我对于它的理解就是用参数把两个或多个请求联系起来,第二个请求可以用到每一个请求中的参数。Jmeter中的关联一般用正则来获取参数。

    下面用实例来解释:

    1.先创建第一个http请求(baidu),我用的是百度网址(www.baidu.com);

      

    2.添加正则表达式提取器:baidu——添加——后置处理器——正则表达式提取器;

      

      正则表达式提取器

      a. 引用名称:下一个请求要引用的参数名称,如填写news,则可用${news}引用它。

      b. 正则表达式:

        ():括起来的部分就是要抓取的内容。

        .:匹配任何字符串。
        +:一次或多次。
        ?:在找到第一个匹配项后停止。
        这里的内容你可以到第一个请求中获取,这里我抓的是<a href=http://news.baidu.com name=tj_trnews class="mnav">新闻</a>这条数据中的news。

      c. 模板:用$$引用起来,如果在正则表达式中有多个正则表达式,则可以是$2$$3$等等,表示解析到的第几个值给news。如:$1$表示解析到的第1个值

      d. 匹配数字:0代表随机取值,1代表全部取值,通常情况下填0

      e. 缺省值:如果参数没有取得到值,那默认给一个值让它取。

    3.创建第二个http请求(news),从第一个请求中我们知道第二个请求要发送的地址是http://news.baidu.com,这里我引用了在第一个请求中设置的参数${news}。

    4.到这里,脚本已经创建完了,现在运行一下,结果如下图,news请求成功显示出百度新闻内容,证明关联成功。

      

     1、提取单个字符串:
       假如想匹配Web页面的如下部分:<a href=http://news.baidu.com name=tj_trnews class="mnav">,提取tj_trnews。一个合适的正则表达式:<a href=http://news.baidu.com name=(.+?) class="mnav"> "
          ():封装了待返回的匹配字符串。
          .:匹配任何单个字符串。
          +:一次或多次。
          ?:在找到第一个匹配项后停止。

      2、提取多个字符串:
        假如想匹配Web页面的如下部分:<a href=http://news.baidu.com name=tj_trnews class="mnav">,并提取newstj_trnews。一个合适的正则表达式:<a href=http://(.+?).baidu.com name=(.+?) class="mnav">。这样就会创建2个组,分别用于$1$和$2$

      比如:

        引用名称:MYREF
        模板:$1$$2$

       如下变量的值将会被设定:
        MYREF:     news tj_trnews
        MYREF_g1:  news
        MYREF_g2:  tj_trnews

      在需要引用地方可以通过:${MYREF}, ${MYREF_g1}进行使用。

  • 相关阅读:
    给pdf文件添加防伪水印logo(附工程源码下载)
    关于正则,那些年一直存在的疑惑解答(正则菜鸟不容错过)
    那些年用过的一些前端框架
    优化Javascript数据遍历
    PHP5 mysqli 教程
    程序员一年工作经验之谈
    TCP协议的性能评测工具 — Tcpdive开源啦
    VMware Tools (ubuntu系统)安装详细过程与使用
    利用BBRSACryptor实现iOS端的RSA加解密
    Spring AOP详解(转载)
  • 原文地址:https://www.cnblogs.com/suancaipaofan/p/6935565.html
Copyright © 2011-2022 走看看