Jmeter-正则表达式提取器获取token-小实例

Posted chengchengla1990

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter-正则表达式提取器获取token-小实例相关的知识,希望对你有一定的参考价值。

步骤一:在需要获取token的接口上,添加正则表达式提取器

技术分享图片

 说明:

  (1)引用名称:下一个请求要引用的参数名称,如填写title,则可用${title}引用它。

  (2)正则表达式:

    ():括起来的部分就是要提取的。

    .:匹配除换行符以外的任意字符
    +:重复一次或更多次
    ?:重复零次或一次,在找到第一个匹配项后停止
            *:重复零次或更多次

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

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

  (5)缺省值:如果参数没有取得到值,那默认给一个值让它取

 

 步骤二:使用获取到的token值。添加HTTP Cookie管理器

 

技术分享图片

 说明:

  1. 名称:对该 Cookie管理器的自定义概述
  2. 注释:对该 Cookie管理器的详细描述
  3. 每次反复清除Cookies?:选择后,则每次线程组运行时,都会清除 cookie。PS:若是手动添加的cookie,则不会被清除。
  4. Implementation:履行的协议。
  5. Cookie Policy:Cookie的管理策略。有如下几种可选项:
  • compatibility:推荐选择此种策略。这种兼容性设计要求是适应尽可能多的不同的服务器,尽管不是完全按照标准来实现的。如果你遇到了解析 Cookies 的问题,你就可能要用到这一个规范。有太多的web站点是用CGI脚本去实现的,而导致只有将所有的 Cookies 都放入 Request header 才可以正常的工作。这种情况下最好设置 http.protocol.single-cookie-header 参数为 true。
  • rfc2109:是HttpClient使用的默认Cookies协议。
  • rfc2965:定义了版本2并且尝试去弥补在版本1中 Cookie 的 RFC2109 标准的缺点。规定 RFC2965 最终取代 RFC2109 发送 RFC2965 标准 Cookies 的服务端,将会使用 Set-Cookie2 header 添加到 Set-Cookie Header 信心中,RFC2965 Cookies 是区分端口的。
  • ignorecookies:此规格忽略所有 Cookie。被用来防止 HttpClient 接受和发送的 Cookie。
  • netscape:是最原始的 Cookies 规范,同时也是 RFC2109 的基础。尽管如此,还是在很多重要的方面与 RFC2109 不同,可能需要特定服务器才可以兼容。
  • default:默认。

      6.存储在Cookie管理器中的Cookie

      名称:参数的名称,如本例中名称是  _security_token

      值:参数的值,如本例中值是从步骤一的正则表达式中的${token}

      域:使用到该cookie的域名,如本例中则是多图模板这个接口的域名

 

运行结果:

技术分享图片

 

实践过程中遇到的问题:

技术分享图片

 

以上是关于Jmeter-正则表达式提取器获取token-小实例的主要内容,如果未能解决你的问题,请参考以下文章

jmeter正则表达式提取 引用

jmeter 用一个正则提取器提取多个值的两种方法

Jmeter5.2.1 正则表达式

Jmeter5.2.1 正则表达式

jmeter如何使用正则表达式,如何提取token等想要的数据

jmeter正则表达式 提取token