JMeter (3) —— JMeter录制脚本并压力测试用户登录场景以CAS SSO为例(101 Tutorial)

JMeter (3) —— JMeter录制脚本并压力测试用户登录场景以CAS SSO为例(101 Tutorial)


主要内容

  • JMeter录制脚本并进行压力测试用户登录场景,并以CAS SSO单点登录为例

环境与参考

jvm版本: 1.8.0_65css

jmeter版本: 2.13html

firefox版本: 39.0.3java

参考来源:web

jmeter官方网站apache

cnblogs: JMeter基础之—录制脚本浏览器

51testing: Jmeter 快速入门教程(四)--录制复杂web测试脚本服务器

准备

请参照JMeter (1) —— JMeter与WebDriver安装与测试(101 Tutorial) 安装好JMeter。cookie

须要注意的是:网络

  • JMeter的版本
  • jar依赖冲突
  • firefox版本

待测试的CAS环境

架构

配置

请参照如下文章搭建配置好CAS单点登录的本地环境。架构

测试

注意:咱们这里只是以CAS单点登录为应用场景进行测试,此测试能够推广到其余的web应用的登录场景,也能够扩展到更为丰富的流程或场景中。

准备

  1. 修改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

  2. 在工做站(WorkBench)下添加“HTTP(S) Test Script Recorder”

  3. 配置“HTTP(S) Test Script Recorder”

  4. 配置浏览器代理

    Firefox -> Preferences -> Advanced -> Network -> Connection -> Settings... ->

录制

  1. 点击“HTTP(S) Test Script Recorder”最下面的Start按钮

    确认

    直接用咱们配置好的浏览器访问供测试的CAS环境。

    录制完成后,咱们会在选择好的目标控制器(Test Controller)下找到录制好的配置:

  2. 完成后点击“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登录

咱们一样能够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。

结束

相关文章
相关标签/搜索