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。