jmeter实现一次登录,多次业务请求(不同线程组间共享cookie和变量)

实现目的

  • 很多时候,在进行性能测试时,需要先登录,然后再对需求的事务进行相关性能测试,此时的登录操作,并不在本次性能测试的范围内,所以我们只需要登录一次,然后获取登录成功后的cookie等,并将cookie等鉴权的值,传给cookie管理器,供后续所有的业务请求使用,这样即可实现直接对需求的事务进行性能测试,并监控相关资源利用和程序性能指标。

脚本实现

  • 设置Http Cookie管理器,用于存储当前脚本的cookie信息,并传给后续的相关请求使用
    jmeter实现一次登录,多次业务请求(不同线程组间共享cookie和变量)_第1张图片

  • 设置高斯随机定时器,用于产生随机等待时间
    jmeter实现一次登录,多次业务请求(不同线程组间共享cookie和变量)_第2张图片

  • 设置初始化线程组setUp Thread Group,在所有其他线程组执行前,先执行,一般用于登录等操作,执行一次就好
    jmeter实现一次登录,多次业务请求(不同线程组间共享cookie和变量)_第3张图片

  • 设置仅一次控制器,保证后续的请求在整个测试执行过程中只被执行一次
    jmeter实现一次登录,多次业务请求(不同线程组间共享cookie和变量)_第4张图片

  • 编辑登录请求
    jmeter实现一次登录,多次业务请求(不同线程组间共享cookie和变量)_第5张图片

  • 提取登录成功后的sid
    jmeter实现一次登录,多次业务请求(不同线程组间共享cookie和变量)_第6张图片

  • 提取登录成功后的cookie
    jmeter实现一次登录,多次业务请求(不同线程组间共享cookie和变量)_第7张图片

  • 将获取到的sid和cookie转成全局变量,以便供给http cookie管理器或者其他的线程组使用
    jmeter实现一次登录,多次业务请求(不同线程组间共享cookie和变量)_第8张图片

  • 设置本次性能测试线程参数
    jmeter实现一次登录,多次业务请求(不同线程组间共享cookie和变量)_第9张图片

  • 编辑本次性能测试的事务的相关请求,这里传入其他线程组的全局变量
    jmeter实现一次登录,多次业务请求(不同线程组间共享cookie和变量)_第10张图片

  • 相关结果断言及性能指标监控
    jmeter实现一次登录,多次业务请求(不同线程组间共享cookie和变量)_第11张图片

你可能感兴趣的:(jmeter实现一次登录,多次业务请求(不同线程组间共享cookie和变量))