• JMeter-- token写入/读取csv文件+清除掉token的csv文件



    登录接口的token在jmeter的其它线程组中使用时,通常有两种方式:一是将token设置成全局变量(在我的这篇文章中讲述了(https://blog.csdn.net/qq_37405087/article/details/125317934));二将token写入文件中,在其它线程中使用时需要读取token文件。
    场景:多个用户仅登录一次,每个用户可进行多次查询操作,再退出登录。(需要注意的一点,为了防止下次运行时登录账户已登录无法再次登录,需要在tearDown线程组中添加退出登录的接口)
    整体的jmeter脚本如下图:
    在这里插入图片描述
    1、setUp线程组中进行初始化:将以前保存token值清除掉。
    在BeanShell取样器添加如图脚本在这里插入图片描述

    File file = new File("/Users/shanshan/set_token.csv");
    
    if (file.exists()) {     
        file.delete();   
        log.info("删除成功!!!! ");   
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2、业务线程组:登录+查询
    1)在登录接口中添加仅一次控制器,登录只需要登录一次,但查询操作可以是多次。来源从csv文件中读取登录接口的用户名/密码,并参数化。
    在这里插入图片描述
    2)从登录接口的响应中提取每个用户的token和用户名,并用BeaShell后置处理器将用户名和token写入到csv文件中。
    在这里插入图片描述
    在这里插入图片描述

    //指定需要写入的文件
    FileOutputStream fps = new FileOutputStream("/Users/shanshan/set_token.csv",true);
    
    OutputStreamWriter ows = new OutputStreamWriter(fps);
    BufferedWriter bw = new BufferedWriter(ows);
    
    if(!"${token}".isEmpty())
    	{bw.append("${user_name},${token}\n");}
    
    if(bw!=null){bw.close();}
    if(ows!=null){bw.close();}
    if(fps!=null){bw.close();}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    3)查询可以执行多次,可以在线程组中的调度器中设置持续时间。只有4个用户,持续时间20s。在这里插入图片描述

    3、在业务并发执行后执行后退出登录,用到tearDown线程组。根据token文件中token,一次退出登录。
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    4G版本云音响设置教程阿里云平台版本
    Go实现随机、轮训、权重、哈希负载均衡
    1.Netty概述
    【Selenium4自动化测试(1)】Selenium4简介
    【springcloud】Feign的性能优化和最佳实践
    MZ-Tools 8.0.1.2944 Crack
    使用企业微信移动办公效果如何?
    扬帆际海:如何成为一个合格的跨境电商运营?
    Part2_扩展MATSIM_Subpart6_附加选择维度_第27章 目的地创新
    EAV模型(实体-属性-值)的设计和低代码的处理方案(1)
  • 原文地址:https://blog.csdn.net/qq_37405087/article/details/125536102