• jmeter引用cookies进行登录实战


    以jmeter登录接口为例,就下面的这个登录页面



    • 在测试之前,我们输入用户和密码先手动登录下,看看有那些网络信息,使用fiddler抓包



    • 登录发送的是这个请求,我们看下使用什么方式,以及用到那些参数

            看下图,可以看到是POST发送方式,以及包含N多cookies


    • 在下图可以看到有5个参数
    1.     Csrf_test_name:这个参数的请求值可以看到和cookies里面的csrf_cookie_name值一样,这样我们就可以从cookies中获取该参数的值
    2.     Username:用户名
    3.     Password:密码
    4.     Auto_login:请求值为1,我们先不管这个是干嘛的,到时候我们也填1
    5.     Login_submit:请求值为1,我们先不管这个是干嘛的,到时候我们也填1



    • 看下响应结果,是json类型数据,可以看到username被返回,也包含一些其它的字段信息,这里的某些信息就可以用作响应断言




    好了,接下来使用jmeter来测试了,引用cookies,这也是这次分享的重点

        要确保jmeter.properties(这个文件在安装目录的bin目录下),文件里面的设置项CookieManager.save.cookies=true

    • 可以从测试计划中添加线程组,这里我定义跑100个


    • 添加HTTP Cookie管理器,默认就行不用设置
    • 添加HTTP请求,该请求是为了获取cookies


    • 添加登录接口,也是HTTP请求,注意下图标红的,就是引用cookies里面的值${COOKIE_cookie名称}

            添加请求参数

    1.         csrf_test_name ${COOKIE_cookie名称}
    2.         username 用户名
    3.         password 密码
    4.         auto_login 默认设置1
    5.         login_submit 默认设置1

    • 响应文本,我这里判断响应文中有我的用户名就行,具体定义可以自己设

    • 我这里只看登录接口的结果,所以我把查看结果树和聚合报告位置都放到了登录接口下面

    • 看响应时间,跑100个简直是无关痛痒,这里只是演示下,引用cookies登录的例子

  • 相关阅读:
    Spring IoC 容器和 AOP
    MySQL 锁与事务控制
    MySQL 存储引擎的选择
    如何理解MySQL 索引最左前缀原则
    MySQL 索引
    Java 线程池
    Java多线程 ReentrantLock、Condition 实现生产者、消费者协作模式
    Java多线程并发中 CAS 的使用与理解
    Java多线程中协作机制
    Mysql-SQL生命周期-show profile
  • 原文地址:https://www.cnblogs.com/mawenqiangios/p/8056137.html
Copyright © 2020-2023  润新知