前戲
一般我們的項目都是http的,測接口也是http,所以發送http請求是必須要會的,下面就以一個自己寫的登錄接口為例。
首先我們創建一個線程組,在創建一個HTTP信息頭管理器,用來存放請求頭,在創建一個HTTP請求,在創建一個查看結果樹,用來查看我們的結果。
因為傳的參數是json格式的,所以要在HTTP信息頭管理器里注明Content-Type,如下
注:HTTP信息頭管理器如果放在上面所有請求都會帶上,如果是放在HTTP請求下面,則只有當前的HTTP請求會攜帶請求頭
執行查看結果
這樣一個最簡單的HTTP接口就請求成功了
JSON Extractor提取參數
上面我們已經發送了一個登錄請求,並且成功了,返回了token,現在我們還有一個獲取課程的接口,需要攜帶token,我們可以把登錄返回的token寫到獲取課程的接口里,但是當我們重新登錄之后,token就發生了變化,如果還使用之前的token。接口就會返回token錯誤,如下
所以token不能寫死,每次都需要從登錄接口里獲取token值。
因為接口返回的是JSON格式,jmeter提供了json提取器來快速幫我們獲取對應的值,在正式提取之前,我們可以使用json提取器來測試我們的表達式
操作步驟如下
上面我們使用正確的表達式提取到了token,我們就可以把這個表達式放到JSON Extractor里了。
在登錄接口下新增JSON Extractor,JSON Extractor在Post Processors中
界面參數如下
經過上面的一系列操作之后,我們就把我們的token提取出來存到了變量login_token里面,接下來我們要在獲取課程接口里面使用這個token。
JMETER中引用變量的方法 ${變量名}
運行查看結果
Debug Sampler
上面我們使用json表達式測試的時候能保證我們的表達式是正確的,但有時候如果接口失敗的話,那我們提取的值也就是錯誤的了,這時候如果一個接口一個接口的排查下去的話,會很浪費我們的時間,我們可以添加一個Debug Sampler,可以查看我們的所有變量
界面如下
運行jmeter查看debug sanpler
Debug Sampler一般放在最后