2016-04-29 37 views
-1

提取數據,我有這樣的效應初探在查看樹聽衆如何使用正則表達式/ BeanShell的後處理器提取從響應

"__v":0,"language":"en","jobTitle":"Executive","firstName":"wer","lastName":"wre","email":"[email protected]","phone":"+1 213-321-3232","_companyId":"5723erera8b2196fdaer9502b86dc7","accountStatus":"UNVERIFIED","role":"ADMIN","emailActivationSecret":"XD1EererreQyVLFn1IjJg7QQNcDz9RLZ1xrKnl84XI5Nb5","_id":"5723a8b21er96fwereeda9ewree502b86dc8","products":[],"created":"2016-04-29T18:32:18.700Z"}

現在,我需要提取emailemail activation secretid在這個鏈接:

webserver-wat:3001/activateAccount?email=fde%298989%40gmail.com&secret=XD1EererreQyVLFn1IjJg7QQNcDz9RLZ1xrKnl84XI5Nb5&companyId=5723a8b21er96fwereeda9ewree502b86dc8

併發送一個帖子請求以激活鏈接。有沒有辦法做到這一點?會很感激,因爲這是阻礙我們的自動化過程

+0

感謝您編輯 – Rahul

回答

0

的正則表達式:

/.*"email":"(.*?)".*emailActivationSecret":"(.*?)".*"_id":"(.*?)".*/ 

替換字符串:

"webserver-wat:3001/activateAccount?email=$1&secret=$2&companyId=$1"

demo

+0

謝謝。在第二個請求中,在服務器名稱中:我保留了webserver-wat:3001/activateAccount?email = $ 1&secret = $ 2&companyId = $ 1路徑:{Activ_url}和方法:Post發生以下錯誤:java.net.URISyntaxException:預計在索引爲26的IPv6地址的結束括號:http:// [webserver-wat:3001/activateAccount?email = $ 1&secret = $ 2&companyId = $ 1]:8081/error \t at java.net.URI $ Parser.fail URI.java:2829) \t at java.net.URI $ Parser.failExpecting(URI.java:2835) \t at java.net.URI $ Parser.parseServer(URI.java:3212) – Rahul

+0

發佈數據說這個:POST http:// [webserver-wat:3001/activateAccount]:8081/error – Rahul

+0

我修正了它。現在檢查演示... – sweaver2112

0

我相信這將是您更容易使用JSON Path Extractor(可通過JMeter Plugins)這樣你將會能夠輕鬆解析多行數據,使用條件選擇器和JSON路徑表達式看起來比正則表達式更友好且更易讀。

例如:

  1. 要提取單個值,即email使用下面的JSON路徑抽出配置:

    • 目標變量名稱:任何有意義的事,即email
    • JSON路徑表達式:$.email
    • 將提取的值作爲${email}在需要
    • 重複上述步驟(使用單獨的JSON路徑抽出)其他動態變量
  2. 如果你想在一個單杆的一切:

    • 目標變量名稱:任何合適的變量名即,param
    • JSON路徑表達式:$.[email, emailActivationSecret, _id]
    • 參考提取值:

      • ${param_1} - 爲 「電子郵件」
      • ${param_2} - 爲 「emailActivationSecret」
      • ${param_3} - 爲 「_id」

參考文獻:

相關問題