1. 程式人生 > >Jmeter4.0接口測試之案例實戰(七)

Jmeter4.0接口測試之案例實戰(七)

案例 保存 4.0 部分 網絡 總結 alt 一個 sessionid

在前面的知識體系中介紹了Jmeter的基本應用,下來通過具體的案例來看Jmeter在接口測試中的具體案例實戰部分。

HTTP是基於應用層的協議,底層的網絡傳輸層它不需要去關心,同時它是一個無狀態的協議,它的請求流程具體可以總結為:

1、客戶端連接服務端建立TCP的連接;

2、客戶端發送(Request)請求到服務端;

3、服務端響應( Response)回復給客戶端;

4、客戶端與服務端之間關閉TCP的連接。

HTTP在版本1.0以及現在使用的1.1中,它默認是持久連接,也就是Connection對應的Value值是:keep-alive,再通俗的說任意一端沒有明確斷開連接,保持TCP的連接。但是HTTP畢竟是一個無狀態的協議,也就導致了cookie技術的發展,而Cookie是客戶端的瀏覽器存儲鍵值對的一些內容,首次客戶端訪問服務端的時候,服務端會把內容寫入到客戶端中,客戶端下次訪問的時候會帶著鍵值對的內容發送到服務端,但是Cookie它是客戶端的機制,敏感信息存儲在客戶端是很不合理的,也就有了Session,客戶端發送請求到服務端,服務端會把信息保存在內存中,客戶端下次請求的時候帶上SessionID的信息來保持會話的連接。比如登錄博客園登錄後,想查看博客園的粉絲信息,必須是保持在登錄的狀態,並且是客戶端得明確的告訴服務端是查看那個用戶的博客園的粉絲,如果客戶端請求的時候不帶SessionID的信息,服務端會直接拒絕客戶端的請求並且跳轉到登錄的頁面。

通過Charles工具來查看博客園粉絲的請求信息,見截圖:

技術分享圖片

再看服務端返回的響應內容數據:

技術分享圖片

下面使用Jmeter來實現該接口,查看我的粉絲,見Jmeter的截圖

技術分享圖片

執行後,見執行的結果:

技術分享圖片

跳轉到登錄的頁面,並沒有跳轉到我的粉絲的頁面,這是因為客戶端在發送請求的時候並沒有在請求頭中帶Cookie,所以服務端認為是無登錄,跳轉到登錄的頁面, 下來處理這部分,在客戶端發送請求的時候,在請求頭中帶上Cookie,見帶上後的截圖:

技術分享圖片

再次執行,就返回我的粉絲的響應數據,見截圖:

技術分享圖片

Jmeter4.0接口測試之案例實戰(七)