zoukankan      html  css  js  c++  java
  • Jmeter-正则表达式提取器获取token-小实例

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

     说明:

        (1) Apply to:应用范围

            Main sample and sub-samples:匹配范围包括当前父取样器并覆盖至子取样器

            Main sample only:匹配范围为当前父取样器

            Sub-samples only:仅匹配子取样器

            JMeter Variable:支持对JMeter变量进行匹配

       (2)要检查的响应字段:针对响应数据的不同部分进行匹配

            主体:响应数据的主体部分,排除Header部分;Http协议返回请求的主体部分就是Body

            Body:针对替换了转义码的Body部分

            Body as a Document:返回内容作为一个文档进行匹配

            信息头:只匹配信息头部分的内容

            URL:只匹配URL链接

            响应代码:匹配响应代码,比如HTTP协议返回码200代表成功

            响应信息:匹配响应信息,比如处理成功返回"成功"字样,或者"OK"字样

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

      (4)正则表达式:

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

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

      (5)模板:正则表达式可以设置多个模板进行匹配,在此只可指定运用哪个模板,模板自动编号,$1$指第一个模板,$2$代表第2个模板,依此类推。$0$代表全文匹配

      (6)匹配数字:在匹配时往往会出现多个值匹配的情况,0代表随机取值;不同模板可能会匹配一组值,那么可以用匹配数字来确定取这一组值中哪一个;负数取所有值,通常情况下填0

      (7)缺省值:如果没有匹配到,那可以指定一个默认值

     步骤二:使用获取到的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的域名,如本例中则是多图模板这个接口的域名

    运行结果:

    实践过程中遇到的问题:

    1、

    2、token的值拿到了,但是线程执行失败,把请求方法由Get改成Post就成功了

    3、token的值拿到了,请求方法也是正确的,线程执行失败,把代理去掉就成功了

  • 相关阅读:
    Atitit.php  nginx页面空白 并返回500的解决
    Atitit.php  nginx页面空白 并返回500的解决
    Atitit .linux 取回root 密码q99
    Atitit .linux 取回root 密码q99
    atitit.农历的公式与原理以及农历日期运算
    atitit.农历的公式与原理以及农历日期运算
    Atitit.用户权限服务 登录退出功能
    Atitit.用户权限服务 登录退出功能
    atitit.atiOrm.js v2 q61 版本新特性.docx
    Atitit.报名模块的管理
  • 原文地址:https://www.cnblogs.com/chengchengla1990/p/9675876.html
Copyright © 2011-2022 走看看