用Jmeter做web端接口的負載測試

一、 JMeter線程組設置解釋

1、線程數:相當於虛擬用戶數

2、Ramp-Up Period(in seconds):啓動所有線程的時間。

      若值爲0,則代表立即創建所有線程,即代表同時併發

      若值爲N,且線程數爲M,則代表每隔N/M秒建立一個線程:比如線程數是100個,Ramp-Up Period(in seconds)的值是300          秒,則代表每隔3秒(300/100)建立一個線程

3、循環次數:包括固定循環次數和永遠循環(不設置次數僅控制循環時間)

    1) 固定循環次數:想循環幾次就填寫幾

    2)不設置次數僅控制循環時間,即循環次數勾選“永遠”:該模式是爲了觀察服務器在一個時間段內,維持某種併發的運行情況。

        具體設置情況如下圖:勾選永遠->勾選調度器->根據需要設置調度器

       

二、 “查看”接口測試

1、用badboy錄製登錄和進入日報操作的腳本->導出至jmeter格式

   

備註:

   1)如果要衡量一個頁面(頁面渲染完成)的性能時,我們就需要考慮完成頁面渲染所需要的圖片、css和js等資源文件,因此用Jmeter錄製腳本

   2)  如果僅測試某操作的響應時間,比如:登錄,則就用badboy錄製腳本。因爲badboy不會錄製圖片、css和js等資源文件

2、導入至Jmeter之後,在線程組下新增HTTP Cookies管理器

3、用fiddler抓包工具或者直接用谷歌瀏覽器中的開發者工具調試頁面中,抓取並查看登錄時的cookie信息

  注意:若JSESSIONID的值失效,可重新抓包,然後修改值即可

   

                                                     fiddler抓包工具

   

                                                      開發者工具

4、在步驟2中的HTTP Cookies管理器中加入cookie,注意該處的域名一定要寫上,不能爲空或寫成ip,否則無效。

   

5、在要測試的請求下添加察看結果樹、彙總報告、響應斷言和斷言結果

   

   1)在響應斷言中添加測試模式(其中項目名稱是包含在日報界面中的字符串,用以判斷請求是否成功)

   

 

   2)運行過後的斷言結果,沒有報錯即爲通過

   

6、在線程組中按照需求輸入線程數、時間和循環次數

   1)可以先設置爲一個線程數,查看該響應數據是否正確,若正確,再按照需求設置線程組中各參數

   2)把無關的請求,甚至包括登錄請求均禁用(因爲已經設置過cookie信息)

   3)本次壓測是針對進入日報界面,僅留該請求即可

   

7、執行腳本,查看察看結果樹中結果

   

8、查看彙總報告中結果:

   

三、“登錄”接口測試

1、登錄接口重定向問題:

如果登錄接口使用了url重定向,則需要勾選Follow Redirects(跟隨重定向)

解釋如下:

http://tieba.baidu.com/p/5630956691

2、對用戶名和密碼進行參數化:

    1)測試數據中賬號和密碼用英文逗號隔開:

     

    2)在要測試的請求下添加CSV Data Set Config,設置測試數據文件路徑、編碼和參數名(與接口請求數據中參數名一致)

    3)設置請求數據中的用戶名和密碼Value值如下格式:

四、 測試報告生成

1、先在JMeter中配置好運行參數,線程數和運行時間等

2、打開cmd,用cd命令進入到jmeter文件所在的路徑(文件名叫:login.jmx),若放到了桌面上,則命令如下:

3、輸入jmeter.bat所在路徑(E:\CYX-documents\apache-jmeter-5.1.1\bin\jmeter.bat)和執行命令(-n -t login.jmx -l test_report_01.csv -e -o test_report_01),如下:

4、 生成的文件和文件夾如下:

5、 打開文件夾中的index.html文檔即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章