zoukankan      html  css  js  c++  java
  • jmeter单点登录跨线程组使用cookie

    最近在学习jmeter性能测试,发现单点登录模式下,跨线程组使用cookie在获取cookie是比较困难,这个不是从登录接口获取cookie,而是在登录后自动单点登录跳转到相应页面时,取跳转后的cookie信息。下面总结下我使用分析的小心得,希望对大家能有帮助。

    • 为了学习jmeter一些相关工具,我使用badboy录制功能来完成这个接口及相关页面的抓取。录制成功后首先保存为.bx文件。然后输出为jmeter文件,具体操作如下:   

    • 打开jmeter,去除一些重复或者录制过程中没必要的文件。
    • 将所有录制的文件做分类,如下所示:

    • 公司每个功能模块是用单点登录的方式实现的,我首先实现cookie信息获取。
    1. 先在apache-jmeter-5.1.1in文件夹下的jmeter.properties  文件中找到“CookieManager.save.cookies”将它的值改为true(图一);
    2. 添加HTTP cookie管理器(图二、图三),不需要填写任何信息。

                 

     (图一)

     

     (图二)

     

     

      (图三)

    这时已经可以获取到cookie信息了,在同一个线程组下面可以使用。但是跨线程组是不行的。那么就要分析获取具体的cookie信息。

     

    • 分析发现要获取的cookie信息,并不是登录接口返回的cookie信息,而是登录后第一次跳转后的cookie信息----我们公司是登录后通过单点登录到每个应用模块中。(通过F12抓包分析每次单点登录时传递的cookie信息值)
    1.   右键---添加----后置处理器----正则表达式提取器。提取cookie信息(图四、图五)
    2. 添加调试取样器,添加结果树,运行后,查看cookie取值情况。(图六)
    3. 根据取值信息,添加bell预处理程序设置参数,以用于使用获取的cookie值。(图七)
    4. 设置全局作用的HTTP COOKIE managment ,并使用第3步获取的cookie值(图八)

     (图四) 

    (图五)

     

     (图六)

     

     (图七)

     

     

     

     

      (图八)

    • 设置好cookie以后,就开始正式使用,添加线程组,之前录制的页面、接口等移动进来(图九)。
    • 添加结果树,查看接口是否请求成功、添加调试取样器,查看是否生产cookie信息(有取到具体cookie信息,才能返回cookie信息。)。(图九、图十)
    • 接口信息返回正确。如图说示(图十一)
    • 如果没有cookie信息,会跳转到登录页面(图十二)

     (图九)

     (图十)

     (图十一)

     (图十二)

  • 相关阅读:
    3、使用DB first创建上下文并生成数据库表
    2、新建解决方案,新建项目,配置引用
    1、Visual Studio 2019下载及安装
    7、权限管理数据库
    6、添加Common类
    四年下学期古诗
    三年级必背古诗
    用PHPCMS V9完成wap网站四步法
    Thinkphp笔记---查询方式
    ThinkPHP快捷查询
  • 原文地址:https://www.cnblogs.com/SusanXX/p/11477261.html
Copyright © 2011-2022 走看看