接口測試包含單接口測試和多接口測試砌们,通過組合多個接口實現(xiàn)一組功能的驗證稱為多接口測試若河,單接口重在單個接口多種請求組合的響應(yīng)斷言,多接口重在組合不同接口睹欲,實現(xiàn)流程的串聯(lián)和驗證。多接口測試涉及到接口之間參數(shù)的傳遞一屋,比如AB兩個接口協(xié)同完成一個功能窘疮,A接口的響應(yīng)要作為B接口的輸入,此處就需要用到Jmeter的關(guān)聯(lián)功能冀墨。本文提供兩個接口的串聯(lián)示例闸衫,展示如何應(yīng)用Jmeter實現(xiàn)多接口的參數(shù)傳遞。
關(guān)聯(lián)就是把應(yīng)用中動態(tài)變化的數(shù)據(jù)獲取到轧苫,將它保存為參數(shù)楚堤,提供給后面需要用到的地方進行使用,通過關(guān)聯(lián)可以實現(xiàn)多接口之間的參數(shù)傳遞含懊。Jmeter常用兩種關(guān)聯(lián)組件:
正則表達式提取器
Json Extractor
接口示例
接口A:輸入用戶名身冬,密碼創(chuàng)建用戶,返回新增用戶id
接口B:輸入用戶id岔乔,用戶名酥筝,密碼等信息實現(xiàn)編輯用戶(B接口基于A接口返回的新增用戶id實現(xiàn)數(shù)據(jù)修改)
正則表達式提取器
正則表達式提取器是一種后置處理器,它可以通過正則的方式提取請求中的響應(yīng)數(shù)據(jù)雏门,Jmeter的正則表達式提取器有如下選項
引用名稱:存儲匹配結(jié)果的變量名稱嘿歌,可以是一個值也可以是一組值
正則表達式:匹配的正則表達式掸掏,正則表達式里面可以有多個正則
正則貪婪模式和非貪婪模式匹配:貪婪模式會盡可能多的匹配內(nèi)容,非貪婪模式會盡可能少的匹配內(nèi)容宙帝,貪婪模式和非貪婪模式的區(qū)別是在正則匹配后是否有?
模板:正則表達式提取器類型丧凤,樣式為:$n$,模板可自由組合步脓,拼接組成新的字符串內(nèi)容愿待。
模板為$0$,則為整個表達式匹配到的內(nèi)容靴患;
模板為:$1$仍侥,則對應(yīng)正則表達式中的第一個小括號內(nèi)()匹配的內(nèi)容;
模板為$2$鸳君,則對應(yīng)正則表達式中的第二個小括號()匹配的內(nèi)容农渊;
模板為$1$$2$,則把2個()所匹配的內(nèi)容拼接起來或颊,$1$aa$2$拼接兩個變量的內(nèi)容砸紊,并在中間加上aa
匹配數(shù)字:-1代表取全部數(shù)據(jù),0代表隨機取值饭宾,1代表取第1個數(shù)據(jù)批糟,2代表取第2個數(shù)據(jù)
缺省值:找不到匹配時的值
正則表達式提取實例
獲取接口A的響應(yīng)報文
基于Jmeter正則表達式提取器編寫如下所示后置處理器,提取出響應(yīng)報文的id
通過debugSampler查看變量的提取結(jié)果
在接口B(修改用戶)中使用接口A返回(新增用戶)的參數(shù)
Json提取器
Json提取器是一種后置處理器看铆,它可以通過解析Json報文的方式提取請求中的響應(yīng)數(shù)據(jù),Jmeter的Json提取器有如下選項
變量名:存儲提取的變量名字
Json Path Expressions:Json Path?表達式
Match Numbers:?匹配的數(shù)量盛末,0代表隨機獲取弹惦,1代表獲取第1個數(shù)據(jù),-1代表獲取所有數(shù)據(jù)
Compute concatenation var (suffix_ALL):是否統(tǒng)計所有悄但,即將匹配到的所有值保存為變量_ALL棠隐。
Default Values:?沒有匹配值時的提示信息
Json Extractor?提取到的值會存儲在變量里,使用方法和普通變量一樣檐嚣,通過${}引用Json Extractor?的變量即可助泽。Json Extractor存儲的變量名是基于提取器中變量名稱擴展的,建議通過添加DebugSampler獲取Json Extractor實際存儲值的變量名嚎京。
Json提取器實例
獲取接口A的響應(yīng)報文
基于Jmeter Json提取器編寫如下所示后置處理器嗡贺,提取出響應(yīng)報文的id
通過debugSampler查看變量的提取結(jié)果
在接口B(修改用戶)中使用接口A返回(新增用戶)的參數(shù)
通過上述示例可以看到,正則表達式提取器和Json提取器的處理流程是一致的鞍帝,只是提取方式不同诫睬。Jmeter通過添加相應(yīng)的后置處理器可以解析到請求的返回結(jié)果,并且存儲為參數(shù)供后續(xù)接口使用帕涌,通過這種方式實現(xiàn)多請求的參數(shù)傳遞摄凡,從而實現(xiàn)接口的串聯(lián)測試续徽。
作 者:Testfan Kitty
出 處:微信公眾號:自動化軟件測試平臺
版權(quán)說明:歡迎轉(zhuǎn)載,但必須注明出處亲澡,并在文章頁面明顯位置給出文章鏈接