是一個Apache公司使用java開發的一款測試工具前端
安全、高效、功能強大java
模擬一些高併發或者屢次循環等特殊測試場景web
一、下載Jmeter,解壓縮算法
二、安裝java環境,安裝JDK+JRE,配置環境變量數據庫
三、簡單瞭解Jmeter的目錄結構api
backups:防止數據腳本丟失安全
bin:可執行程序服務器
doc:文檔,api文檔併發
extra:額外的添加的功能高併發
lib:存儲了Jmeter整合的功能(一些以jar結尾的程序)
printable_doc:Jmeter使用說明手冊(全英文的)
四、啓動Jmeter
bin/ApacheJmeter.jar雙擊
五、編寫一個Jmeter版本的測試案例
做用:接口測試、性能測試(內在的測試--程序的算法)、壓力測試(外在)、web自動化測試、數據庫測試、JAVA程序測試
優勢:開源、免費 支持多協議 (http,https,ftp,ftps) 小巧 功能強大
缺點:不支持ip欺騙、不支持前端測試
進程:一個正在執行的程序就對應一個進程
線程:進程中的執行線索(一個進程中有多個執行線索)
線程組:按照線程性質對線程進行分組
併發執行:多個線程同時執行,,特色:執行結束的順序和線程的啓動順序不必定一致
順序執行:按照線程的啓動順序挨個執行。
方便管理
c-1:三者關係:一個線程中能夠有多個線程組,一個線程組中能夠有多個線程
進程--測試計劃
線程組--線程組
線程---線程組屬性
c-2:默認狀況下,線程組中的線程是併發執行的
每一個線程都要執行組內的http請求
c-3:能夠設置線程組順序執行
測試計劃->右擊-->添加--配置組件--http請求默認值
做用:經過服用屬性簡化實現,提升測試效率
E-一、線程組屬性
屬性1:線程數---模擬用戶數
屬性2:時間值----在指定時間內啓動全部進程
屬性3:循環數-----單個用戶訪問的次數
E-二、調度器
一、循環次數設置爲永遠
二、設置啓動延遲X和持續時間Y
在X秒後訪問服務器,而且持續Y秒
三、設置啓動時間M和結束時間N
注意:2和3不能同時使用
動態的獲取並設置數據
好比執行批量操做時,批量插入或者批量刪除,以前數據都是手寫的,每執行完一次都須要修改一次,效率不高
參數化能夠用程序代替人工獲取並設置屬性,效率高而且安全
Jmeter參數化實現組件之一
經過這個組件能夠動態獲取並設置數據,實現相似批量添加的操做(執行一次,將多條數據插入到數據庫)
c-一、實現思想
c-二、實現流程
CSV Data Set Config-----CSV數據配置
SetUP線程組:最早執行的線程組,能夠用來資源加載操做,好比初始化
TearDown線程組:最後執行的線程組