1. Jmeter裏面的基礎elementscss
2. Thread Group(線程組)html
線程組是一組現成的集合,每個線程表明是一個用戶使用該程序,每個線程都是一個模擬用戶在像服務器發起請求。能夠爲每個線程組設置線程的個數。web
例如: 若是如今設置threats的個數是100,那麼JMeter模擬100個用戶像服務器發起請求。chrome
在Jmeter中的配置:數據庫
3. Samples瀏覽器
Jmeter支持測試HTTP,FTP,JDBC等協議,因此threat如何知道發送的請求是屬於什麼樣的請求呢?Sample就能夠定義這些請求的類型服務器
- FTP 請求cookie
假設你想測試一個FTP服務器的性能,那麼就可使用FTP request sample, 這個控件容許你能夠像FTP服務器發送一個FTP download file或者upload file請求性能
例如:測試
- HTTP Request
能夠經過這個request像web服務器發送HTTP/HTTP請求
例如: Jmeter向google website發送一個HTTP請求,而後從該網站獲取到HTML或者IMAGE文件
- JDBC request
該request能夠執行數據庫的性能測試,能夠發送JDBC的請求,(一個SQL查詢語句)到數據庫
例如:一個數據庫服務器上有一個字段叫作test_result 存在test_tbl表裏面, 你想從數據庫中查詢這個數據,能夠像數據庫發送請求得到數據。
- BSF sampler:
這個sampler能夠容許你使用BSF腳本語言
- Access Log sampler
該sampler能夠容許你讀取log以及生成HTTP請求, log能夠是image, html, css.....
- SMTP sample
SMTP sample能夠用來測試郵件服務器, 能夠經過這個sampler向郵件服務器發送email消息
4. Listeners
用來顯示測試執行的結果, 能夠將結果按照不一樣的模式顯示, 例如:tree, table, graph或者log file
5. Config elements
建立一些常量或者變量以供給以後的sample使用
經常使用的configure elements:
- CSV Data set config
加入咱們如今須要測試100個用戶使用不一樣的認證登錄網站,咱們不須要錄製100次腳本,咱們能夠參數化腳本,每次運行的時候都使用不一樣的user認證進行登錄,(不一樣的用戶名和密碼能夠存儲在一個文件裏面),Jmeter能夠經過CSV Data set config這個config element從文件裏面讀取參數,能夠將文件裏面的值一行一行的都出來,而後將他們切分紅變量。
例如:這是一個CSV data的例子,一個txt文件包含了user,password,cookie length
- HTTP Cookie Manager
例如:
第一步:你使用chrome/ie/firefox ....訪問www.google.com
第二步: 使用用戶名和密碼登錄
第三步: 用戶名和密碼會被看成cookies保存在你的電腦上
第四步: 下一次當你再次訪問www.google.com的時候,你就不須要再次登錄了,由於瀏覽器會使用cookie保存的用戶數據進行登錄。
HTTP Co'okie's manager和瀏覽器有着一樣的功能,若是有一個HTTP Request,而在response中包含了一個cookie, 那麼cookie manger會自動保存這個cookie,下次對於這個王章的全部請求都會使用這個cookie.
- HTTP request default
這個element能夠爲HTTP Request設置默認的值。
例如:
你向google.com服務器發送100次HTTP請求, 你須要手動爲那100次請求寫入 server name = google.com
因此, 你能夠添加一個單個的http reques deault, 設置 server name or IP = google.com, 而不須要寫入100次。
- Login config element
這個element能夠是你添加或者重寫sampler裏面登錄用戶名和密碼。
例如:
你想模擬一個用戶登錄www.facebook.com, 可使用login element config,而後添加用戶名和密碼在request裏面。
- Login config element以及CSV data config的比較