JMeter—如何循環(huán)使用接口返回的多個值
在用JMeter做接口測試的時候,經(jīng)常會遇到這樣一種情況:一個接口請求返回了多個值,然后下一個接口想循環(huán)使用前一個接口的返回值;第二種情況:只想循環(huán)請求前一個接口返回值中的隨機不定長度的某一些值(并不想用全部的)。
今天,我就和大家講解一下這兩種情況的其中一個情況,我們?nèi)绾斡肑Meter來實現(xiàn)的。
先說第一種情況:一個接口請求返回了多個值,然后下一個接口想循環(huán)使用前一個接口的返回值。
需求:有一個獲取文件列表的接口,返回了所有的fileVersion,接下來,我就想把所有fileVersion作為下個登錄接口用戶名登錄一遍。這種常見于企業(yè)中有一個獲取商品列表的接口,就想驗證下所有的商品詳情信息是否都正常,是否存在無效商品。我們怎么做呢?
一:首先,在我們的獲取文件信息列表接口,我們就在下面增加一個后置處理器——json提取器或正則提取器,提取所有fileVersion值。
二:我們再添加一個邏輯控制 > 循環(huán)控制器。因為獲取的fileVersion總數(shù)可能一直在變,不是一個固定值,所以,循環(huán)次數(shù)不能使用固定值。哪這個循環(huán)控制循環(huán)次數(shù)怎么配置呢?我們要使用上一步,json提取中變量名稱加_matchNr這樣的新變量。
三:在循環(huán)控制器下面添加print登錄http請求。那此時又有個新問題了,有了循環(huán)次數(shù),接口每次調(diào)用的時候,接口參數(shù)中手機號碼如何自動更新值呢?我就加個計時器函數(shù)。當然,添加計時器也可以。userName的參數(shù)值寫入${_v(mobilephone${_counter(,)})},其中,_v()為連接函數(shù),mobilephone為json提取器生成的變量名稱,“_”為連接符,${_counter(,)}為計數(shù)器函數(shù)。
四,添加察看結(jié)果樹和匯總報告,點擊運行,查看響應(yīng)結(jié)果。
總共有174個ffileVersion,最后,匯總報告中,顯示的總?cè)哟螖?shù)也是174,說明我們的循環(huán)寫法沒有問題。