在用jmeter做介面測試的時候,經常會遇到這樣一種情況:乙個介面請求返回了多個值,然後下乙個介面想迴圈使用前乙個介面的返回值;
第二種情況:只想迴圈請求前乙個介面返回值中的隨機不定長度的某一些值(並不想用全部的)。
今天,我就和大家講解一下這兩種情況我們如何用jmeter來實現的。
先說第一種情況:乙個介面請求返回了多個值,然後下乙個介面想迴圈使用前乙個介面的返回值
需求:有乙個獲取檔案列表的介面,返回了所有的fileversion,接下來,我就想把所有fileversion作為下個登入介面使用者名稱登入一遍。這種常見於企業中有乙個獲取商品列表的介面,就想驗證下所有的商品詳情資訊是否都正常,是否存在無效商品。我們怎麼做呢?
一:首先,在我們的獲取檔案資訊列表介面,我們就在下面增加乙個後置處理器——json提取器或正則提取器,提取所有fileversion值。
二:我們再新增乙個邏輯控制 > 迴圈控制器。因為獲取的fileversion總數可能一直在變,不是乙個固定值,所以,迴圈次數不能使用固定值。哪這個迴圈控制迴圈次數怎麼配置呢?我們要使用上一步,json提取中變數名稱加_matchnr這樣的新變數。
三:在迴圈控制器下面新增print登入http請求。那此時又有個新問題了,有了迴圈次數,介面每次呼叫的時候,介面引數中手機號碼如何自動更新值呢?我就加個計時器函式。當然,新增計時器也可以。username的引數值寫入
$)},其中,_v()為連線函式,mobilephone為json提取器生成的變數名稱,「_」為連線符,$為計數器函式
四,新增察看結果樹和彙總報告,點選執行,檢視響應結果
總共有174個ffileversion,最後,彙總報告中,顯示的總取樣次數也是174,說明我們的迴圈寫法沒有問題。
再說第二種情況,我們想隨機抽取所有使用者中的隨意長度使用者,常見於企業中商品數量比較多,隨機抽檢任意多個商品,驗證商品詳情是否正常。
一:依然是在獲取使用者列表介面下面新增後置處理器——json提取器或正則提取器。只是,這次我們的提取寫法不一樣了。
二:依然是新增迴圈控制器,只是,又有乙個新問題了,因為都是隨機數,起始和終止值之間的差距不確定,迴圈次數也就不確定,哪這個迴圈次數如何設定呢? 這裡我們引入乙個intsum求和函式,寫入$,$,)},
其中,intsum為求和函式,「-」為負號,就進行減法運算了,$為起始值,$為終止值
三:在迴圈控制器下面新增print登入http請求。那此時又有個新問題了,有了迴圈次數,介面每次呼叫的時候,介面引數中手機號碼如何自動更新值呢?我就加個計時器函式。當然,新增計時器也可以。username的引數值寫入
$)},其中,_v()為連線函式,mobilephone為json提取器生成的變數名稱,「_」為連線符,$為計數器函式
四,新增察看結果樹,點選執行,檢視響應結果
Jmeter 整合Excel讀寫介面引數返回值
輸入vin然後獲取返回值json 串,拼接非規則json 以下是返回的json串 16524 16526 83439 src ly view code 網上這個教程無法解析jmeter beanshell postprocessor提取json資料 採取以下處理方式 下面為傳入的3個關鍵字段 pac...
Jmeter中使用迴圈如何保證資料不重複
在jmeter中設定併發為s,迴圈次數為n時,引數化檔案可能被重複讀取n次,無法保證每次讀取的資料均不一樣,此處介紹保證資料不重複的方法。啟動jmeter 新建乙個執行緒組 將配置中預設的recycle on eof true stop thread on eof false改為 recycle o...
使用jmeter 測試dubbo介面
1 打包dubbo介面以及相關依賴 3 將dubbo介面 依賴 jmeter dubbo 外掛程式一起放在jmeter 的 lib ext 目錄下 4 避免亂碼問題 jmeter 預設是 ios 8859 1 修改 jmeter bin jmeter.properties 這個檔案,增加 sampl...