- 下載及安裝
- 下載地址:http://jmeter.apache.org/download_jmeter.cgi
- 直接下載Release版本,解壓即可使用
- MAC、Linux中直接運行:jmeter文件
- Windows中運行:jmeter.bat文件
- 環境需求
- JVM6或者以上
- 操作系統
- Linux、Mac、Windows均支持,具體明細請查看:http://wiki.apache.org/jmeter/JMeterAndOperatingSystemsTested
- 樣例:使用JMeter驗證接口請求的返回內容
- 從http://zzk.cnblogs.com中搜索1,驗證結果頁面中是否存在內容:夠不斷地輸出0
- 請求接口:http://zzk.cnblogs.com/s?w=1&t=b

- 步驟
- 新增“線程組”,命名:請求內容驗證
- 其它選項采用默認

- 線程組內新增“Sampler--HTTP請求”,命名:請求內容
- 服務器名稱或IP:zzk.cnblogs.com
- 路徑:/s?w=1&t=b
- 其它選項采用默認

- 在HTTP請求中新增“斷言--響應斷言”,命名:內容斷言驗證
- 在“要測試的模式”中點擊“添加”,在新出現的一行中輸入“夠不斷地輸出0”
- 其它選項采用默認

- 新增“線程組”,命名:請求內容驗證
截止以上步驟,"請求內容驗證"功能已完成。點擊界面中“啟動”按鈕,JMeter運行正常。日志信息:
2015/08/06 20:07:14 INFO - jmeter.util.BSFTestElement: Registering JMeter version of JavaScript engine as work-round for BSF-22 2015/08/06 20:07:15 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Cannot find .className property for htmlParser, using default 2015/08/06 20:07:15 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/html is 2015/08/06 20:07:15 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for application/xhtml+xml is 2015/08/06 20:07:15 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for application/xml is 2015/08/06 20:07:15 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/xml is 2015/08/06 20:07:15 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/vnd.wap.wml is org.apache.jmeter.protocol.http.parser.RegexpHTMLParser 2015/08/06 20:07:15 INFO - jmeter.gui.util.MenuFactory: Skipping org.apache.jmeter.protocol.http.control.gui.WebServiceSamplerGui 2015/08/06 20:07:15 INFO - jmeter.gui.util.MenuFactory: Skipping org.apache.jmeter.protocol.http.modifier.gui.ParamModifierGui 2015/08/06 20:07:15 INFO - jorphan.exec.KeyToolUtils: keytool found at 'keytool' 2015/08/06 20:07:15 WARN - jmeter.protocol.http.proxy.ProxyControl: HTTP(S) Test Script Recorder SSL Proxy will use keys that may not work for embedded resources in file /Users/yjshi/Downloads/apache-jmeter-2.13/bin/proxyserver.jks 2015/08/06 20:07:15 INFO - jmeter.samplers.SampleResult: Note: Sample TimeStamps are START times 2015/08/06 20:07:15 INFO - jmeter.samplers.SampleResult: sampleresult.default.encoding is set to ISO-8859-1 2015/08/06 20:07:15 INFO - jmeter.samplers.SampleResult: sampleresult.useNanoTime=true 2015/08/06 20:07:15 INFO - jmeter.samplers.SampleResult: sampleresult.nanoThreadSleep=5000 2015/08/06 20:10:31 INFO - jmeter.services.FileServer: Default base='/Users/yjshi' 2015/08/06 20:10:31 INFO - jmeter.services.FileServer: Set new base='/Users/yjshi/Desktop' 2015/08/06 20:10:31 INFO - jmeter.save.SaveService: Testplan (JMX) version: 2.2. Testlog (JTL) version: 2.2 2015/08/06 20:10:31 INFO - jmeter.save.SaveService: Using SaveService properties file encoding UTF-8 2015/08/06 20:10:31 INFO - jmeter.save.SaveService: Using SaveService properties file version 1656252 2015/08/06 20:10:31 INFO - jmeter.save.SaveService: Using SaveService properties version 2.8 2015/08/06 20:10:31 INFO - jmeter.save.SaveService: All converter versions present and correct 2015/08/06 20:10:31 INFO - jmeter.engine.StandardJMeterEngine: Listeners will be started after enabling running version 2015/08/06 20:10:31 INFO - jmeter.engine.StandardJMeterEngine: To revert to the earlier behaviour, define jmeterengine.startlistenerslater=false 2015/08/06 20:10:31 INFO - jmeter.engine.StandardJMeterEngine: Running the test! 2015/08/06 20:10:31 INFO - jmeter.samplers.SampleEvent: List of sample_variables: [] 2015/08/06 20:10:31 INFO - jmeter.samplers.SampleEvent: List of sample_variables: [] 2015/08/06 20:10:31 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(true,*local*) 2015/08/06 20:10:31 INFO - jmeter.engine.StandardJMeterEngine: Starting ThreadGroup: 1 : Thread Group 2015/08/06 20:10:31 INFO - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group Thread Group. 2015/08/06 20:10:31 INFO - jmeter.engine.StandardJMeterEngine: Thread will continue on error 2015/08/06 20:10:31 INFO - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 1 ramp-up 1 perThread 1000.0 delayedStart=false 2015/08/06 20:10:31 INFO - jmeter.threads.JMeterThread: jmeterthread.startearlier=true (see jmeter.properties) 2015/08/06 20:10:31 INFO - jmeter.threads.JMeterThread: Running PostProcessors in forward order 2015/08/06 20:10:31 INFO - jmeter.threads.ThreadGroup: Started thread group number 1 2015/08/06 20:10:31 INFO - jmeter.engine.StandardJMeterEngine: All thread groups have been started 2015/08/06 20:10:31 INFO - jmeter.threads.JMeterThread: Thread started: Thread Group 1-1 2015/08/06 20:10:31 INFO - jmeter.protocol.http.sampler.HTTPHCAbstractImpl: Local host = CNyjshi.local 2015/08/06 20:10:31 INFO - jmeter.protocol.http.sampler.HTTPHC4Impl: HTTP request retry count = 0 2015/08/06 20:10:31 INFO - jmeter.protocol.http.sampler.HTTPHC4Impl: Setting up HTTPS TrustAll scheme 2015/08/06 20:10:31 INFO - jmeter.util.JsseSSLManager: Using default SSL protocol: TLS 2015/08/06 20:10:31 INFO - jmeter.util.JsseSSLManager: SSL session context: per-thread 2015/08/06 20:10:32 INFO - jmeter.threads.JMeterThread: Thread is done: Thread Group 1-1 2015/08/06 20:10:32 INFO - jmeter.threads.JMeterThread: Thread finished: Thread Group 1-1 2015/08/06 20:10:32 INFO - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test 2015/08/06 20:10:32 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(false,*local*)
為了完善JMeter的報告內容,再添加對應的“監聽器”
- 新增“監聽器”--“察看結果樹”、“聚合報告”、“斷言結果”,三項內容均添加(常用的監聽器模塊)

- 再次點擊“啟動”按鈕,剛添加的監聽器中會有對就應的結果輸出
- “察看結果樹”【請求的具體結果及內容】:可查看具體的“取樣器結果”、“請求”、“響應數據”(可查看HTTP請求是否正常通過)
- “聚合報告”【聚合統計的結果報告】:針對本次啟動的執行結果的聚合統計報告,包括請求時間、吞吐量、錯誤率(寫報告時可以從這里取數據)
- “斷言結果”【針對所有斷言的結果報告】:針對本次啟動中所涉及到的所有斷言結果(通過與否)
