Jmeter(七)關聯之JSON提取器


如果返回的數據是JSON格式的,我們可以用JSON提取器來提取需要的字段,這樣更簡單一點

  • Variable names:保存的變量名,后面使用${Variable names}引用

  • JSON Path  expressions:調試通過的json path表達式

  • Match Numbers:匹配數字(0代表隨機,1代表第一個,-1代表所有)

  • Default Values:找不到時默認值,一般設置為NOT FOUND

  • Compute concatenation var(suffix_ALL):是否統計所有,即將匹配到的所有值保存,名為“變量名_ALL”

示例:

請求URL:https://fe-api.zhaopin.com/c/i/sou?pageSize=60&cityId=765&workExperience=-1&education=-1&companyType=-1&employmentType=-1&jobWelfareTag=-1&kw=%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95&kt=3

返回的數據格式:

{"code":200,"data":{"numFound":5679,"numTotal":1000,"results":[{"applyType":"1","updateDate":"2019-02-18 08:59:47","refreshMulscore":"0.0","g_sort":"sort-ps-score-ranking-keyword","endDate":"2019-03-20 08:59:47","city":{"display":"深圳-南山區","items":[{"code":"765","name":"深圳"},{"code":"2039","name":"南山區"}]},"showLicence":0,"saleType":100,"positionURL":"https://jobs.zhaopin.com/CC120837247J00254874105.htm","g_weight":101,"industry":"160000,160400, 300100, 160200","welfare":["五險一金","周末雙休","績效獎金","全勤獎","帶薪年假"],"salary":"8K-16K","SOU_POSITION_ID":"CC120837247J00254874105","duplicated":0,"geo":{"lon":"113.937987","lat":"22.523392"},"score":20.695484,"number":"CC120837247J00254874105","vipLevel":1003,"recruitCount":1,"workingExp":{"code":"510","name":"5-10年"},"companyScore":0,"tagIntHighend":0,"company":{"number":"CZ120837240","size":{"code":"3","name":"100-499人"},"name":"深圳市利譜信息技術有限公司","type":{"code":"5","name":"民營"},"url":"https://company.zhaopin.com/CZ120837240.htm"},"seo":"0","jobType":{"display":"IT質量管理/測試/配置管理,軟件測試","items":[{"code":"160400","name":"IT質量管理/測試/配置管理"},{"code":"695","name":"軟件測試"}]},"g_query":"query-ps-score-1","resumeCount":46,"createDate":"2019-02-18 08:59:47","jobName":"中高級測試工程師","manualScore":"0.0","eduLevel":{"code":"4","name":"本科"},"companyLogo":"","futureJob":false,"emplType":"全職","g_source":"source-solr-position","SOU_POSITION_SOURCE_TYPE":1,"recentAndTotal":{"applyTotal":"46","exposureTotal":"2350","clickTotal":"231","exposureRecent":"0","clickRecent":"0","applyRecent":"0"},"tags":[],"businessArea":"科技園","positionLabel":"{\"qualifications\":null,\"chatWindow\":20,\"jobLight\":[\"五險一金\",\"周末雙休\",\"績效獎金\",\"全勤獎\",\"帶薪年假\",\"彈性工作\",\"節日福利\",\"員工旅游\"],\"role\":null,\"companyTag\":null,\"level\":null,\"refreshLevel\":0,\"skill\":[\"應用底層 \",\"熟悉網路知識\",\"軟件功能測試\",\"網絡設備測試\"]}","expandCount":0,"jobTag":{"searchTag":"應用底層 ,熟悉網路知識,軟件功能測試,網絡設備測試,五險一金,周末雙休,績效獎金,全勤獎,帶薪年假,彈性工作,節日福利,員工旅游"},"feedbackRation":0.4557,"interview":0,"selected":false,"applied":false,"collected":false,"isShow":false,"timeState":"最新","rate":""},{"applyType":"1","updateDate":"2019-02-18 14:02:38","refreshMulscore":"0.0","g_sort":"sort-ps-score-ranking-keyword","endDate":"2019-03-13 14:55:38","city":{"display":"深圳","items":[{"code":"765","name":"深圳"}]},"showLicence":0,"saleType":100,"positionURL":"https://jobs.zhaopin.com/CC143316927J00059803005.htm","g_weight":101,"industry":"160400,160000,180000","welfare":["五險一金","員工旅游","加班補助","交通補助","餐補"],"salary":"6K-10K","SOU_POSITION_ID":"CC143316927J00059803005","duplicated":0,"geo":{"lon":"114.070226","lat":"22.556923"},"score":20.717499,"number":"CC143316927J00059803005","vipLevel":1003,"recruitCount":3,"workingExp":{"code":"103","name":"1-3年"},"companyScore":0,"tagIntHighend":0,"company":{"number":"CZ143316920","size":{"code":"5","name":"1000-9999人"},"name":"深圳市贏時勝信息技術股份有限公司","type":{"code":"5","name":"民營"},"url":"https://company.zhaopin.com/CZ143316920.htm"},"seo":"0","jobType":{"display":"IT質量管理/測試/配置管理,軟件測試","items":[{"code":"160400","name":"IT質量管理/測試/配置管理"},{"code":"695","name":"軟件測試"}]},"g_query":"query-ps-score-1","resumeCount":68,"createDate":"2019-02-11 14:55:38","jobName":"測試工程師","manualScore":"0.0","eduLevel":{"code":"4","name":"本科"},"companyLogo":"","futureJob":false,"emplType":"全職","g_source":"source-solr-position","SOU_POSITION_SOURCE_TYPE":1,"recentAndTotal":{"applyTotal":"68","exposureTotal":"3698","clickTotal":"218","exposureRecent":"0","clickRecent":"0","applyRecent":"0"},"tags":[],"businessArea":"蓮花一村","positionLabel":"{\"qualifications\":null,\"chatWindow\":10,\"jobLight\":[\"五險一金\",\"員工旅游\",\"加班補助\",\"交通補助\",\"餐補\",\"通訊補助\"],\"role\":null,\"companyTag\":null,\"level\":null,\"refreshLevel\":1,\"skill\":null}","expandCount":0,"jobTag":{"searchTag":"五險一金,員工旅游,加班補助,交通補助,餐補,通訊補助"},"feedbackRation":0.1269,"interview":0,"selected":false,"applied":false,"collected":false,"isShow":false,"timeState":"最新","rate":""}],"debugInfo":null,"loginfo":null,"facets":[],"extend":"","method":"","taskId":"0a58fc153a9f4fcc9ccefd399e079156","scores":null,"elapsed":["gateway 內部執行耗時117毫秒","gateway 調用總耗時0毫秒","psapi 共耗時135毫秒"],"time":"2019-02-18 18:34:18"}}

現在我們來提取職位的positionURL字段:

1、在查看結果樹中通過JSON Path Tester來調試json path

2、添加JSON提取器,設置正確的參數,獲取第一個positionURL

輸出結果:

3、獲取所有的positionURL

輸出結果:

4、把所有的positionURL放到一個字段中

輸出結果:

5、一次性提取多個字段,比如我們要提取第一個職位的jobName;salary;positionURL三個字段

輸出結果:

 

 Json Path表達式:

JsonPath

描述

$

根節點

@

當前節點

.or[]

子節點

..

選擇所有符合條件的節點

*

所有節點

[]

迭代器標示,如數組下標

[,]

支持迭代器中做多選

[start:end:step]

數組切片運算符

?()

支持過濾操作

()

支持表達式計算


免責聲明!

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



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