jvm版本: 1.8.0_65css
jmeter版本: 2.13html
firefox版本: 39.0.3java
參考來源:web
jmeter官方網站apache
51testing: Jmeter 快速入門教程(四)--錄製複雜web測試腳本服務器
請參照JMeter (1) —— JMeter與WebDriver安裝與測試(101 Tutorial) 安裝好JMeter。cookie
須要注意的是:網絡
請參照如下文章搭建配置好CAS單點登錄的本地環境。架構
注意:咱們這裏只是以CAS單點登錄爲應用場景進行測試,此測試能夠推廣到其餘的web應用的登錄場景,也能夠擴展到更爲豐富的流程或場景中。
修改JMeter配置jmeter.properties
/usr/local/Cellar/jmeter/2.13/libexec/bin
關鍵配置 CookieManager.save.cookies=true
# CookieManager behaviour - should cookies with null/empty values be deleted? # Default is true. Use false to revert to original behaviour #CookieManager.delete_null_cookies=true # CookieManager behaviour - should variable cookies be allowed? # Default is true. Use false to revert to original behaviour #CookieManager.allow_variable_cookies=true # CookieManager behaviour - should Cookies be stored as variables? # Default is false #CookieManager.save.cookies=false # Richard modify 2016-01-06 CookieManager.save.cookies=true
也能夠順便將須要的log打開
log_level.jmeter=INFO log_level.jmeter.junit=DEBUG #log_level.jmeter.control=DEBUG #log_level.jmeter.testbeans=DEBUG #log_level.jmeter.engine=DEBUG #log_level.jmeter.threads=DEBUG #log_level.jmeter.gui=WARN #log_level.jmeter.testelement=DEBUG #log_level.jmeter.util=WARN #log_level.jmeter.protocol.http=DEBUG # For CookieManager, AuthManager etc: # Richard modify 2016-01-06 log_level.jmeter.protocol.http.control=DEBUG #log_level.jmeter.protocol.ftp=WARN #log_level.jmeter.protocol.jdbc=DEBUG #log_level.jmeter.protocol.java=WARN #log_level.jmeter.testelements.property=DEBUG log_level.jorphan=INFO
記得在配置保存後重啓jmeter
在工做站(WorkBench)下添加「HTTP(S) Test Script Recorder」
配置「HTTP(S) Test Script Recorder」
配置瀏覽器代理
Firefox -> Preferences -> Advanced -> Network -> Connection -> Settings... ->
點擊「HTTP(S) Test Script Recorder」最下面的Start按鈕
確認
直接用咱們配置好的瀏覽器訪問供測試的CAS環境。
錄製完成後,咱們會在選擇好的目標控制器(Test Controller)下找到錄製好的配置:
完成後點擊「Stop」按鈕
仔細的童鞋發現,Recorder會將不少http請求都錄製下來,包括對css和js文件的請求,咱們能夠去掉一些沒必要要的。修改完成後的線程組http請求配置以下圖:
配置線程組
添加監聽器Listener(Test Plan -> Add -> Listener -> *)
View Results Tree
Graph Results
Summary Report
Response Time Graph
點擊運行
View Results Tree
Graph Results
Summary Report
Response Time Graph
咱們一樣能夠cnblogs爲目標系統,用JMeter來錄製並測試cnblogs的登錄過程,在此不贅述,感興趣的童鞋本身嘗試一下。
在使用「HTTP(S) Test Script Recorder」這種方式錄製好腳本,並修改後能夠模擬一個瀏覽器客戶端向服務器發送請求,因爲每一個線程發送請求的過程不依賴於某個特定配置好的Web Driver,因此不會存在「併發或重複執行中Cookie Session沒法清除的問題 」。當咱們將併發線程數增長(),循環次數也增長時(),就會遇到文章Sahi (3) —— 壓力測試Load Test以CAS SSO登錄場景爲例(103 Tutorial) 中提到這個4.1.3版本CAS Server的一個bug。