一、 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文檔即可