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的值拿到了,請求方法也是正確的,線程執行失敗,把代理去掉就成功了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM