zoukankan      html  css  js  c++  java
  • Jmter(九)保存响应数据到本地文件中(获取Set-Cookie--作为关联给下一个接口使用)

    1.使用背景

    场景一:在做压测的时候可能需要把响应数据的一些字段统计出来;

    场景二:项目系统中有很多接口,会先校验用户登入状态。如:添加数据,会校验用户登入成功后才能添加。 

     2.操作说明

    要明确需要取的是成功登录接口返回的Set-Cookie值,作为模拟其他接口的登录状态。

    因为登录请求和其他请求存在跨线程组的问题(直接调用比较麻烦),我们就需要先把登录接口返回的Cookie值保存到本地,再供其他需要的线程组调用。

    正则表达式 + 后置处理器    --》 获取set-Cookie + 将获取的结果导出到本地文件

    3.操作步骤

    第一步:在响应数据的Response headers中获取Set-Cookie的值

    <1>找准需要的内容在哪儿

    <2>用正则表达式提取器提取需要的内容

     

     第二步:用Debug Sample(调试取样器)查看取值结果

     第三步:使用BeaShell,保存提取的sessionid

     1 FileWriter fstream = new FileWriter("D://APPS/apache-jmeter-5.3/result/token.csv", true);
     2 
     3 BufferedWriter out = new BufferedWriter(fstream);
     4 
     5 out.write( vars.get("SESSIONID"));
     6 
     7 out.write(System.getProperty("line.separator"));
     8 
     9 out.close();
    10 
    11 fstream.close(); 
    12 
    13 /*
    14 ***
    15 FileWriter 创建了一个对象, 并指定文件存储路径为:E://token.csv;
    16 jmeter中的变量可通过 vars.get(“变量名”)获取变量值;
    17 System.getProperty(“line.separator”) 会在token写入后,换行,根据实际调整;
    18 注意:上述代码会默认在尾部追加的形式写入文件;若不需要,可以直接删除文件直接生成,也可以更改代码中文件对象的写入方式
    19 ***/

    第四步:查看保存结果的表格

     第五步:给需要使用使用set-Cookie=Seesionid的线程组,添加CSV数据文件设置

     第六步:添加HTTP Cookie管理器,用变量${上一步中设置的变量名称}取值

     第七步:查看应用结果

    因为测试了多次,CSV取值是从第一个开始的,所以取了第一个值

     文中正则表达式的部分可以参考:Jmeter(四)正则表达式提取

  • 相关阅读:
    javascript设计模式(一)职责链模式China of responsibility
    javascript设计模式(一)策略模式Strategy
    angularjs提示消息弹出框
    Javascript设计模式(一)States
    Javascript设计模式(一)Facade
    NOIP2020
    RMQ & ST表
    NOI Linux
    初赛解析
    贪心大解析
  • 原文地址:https://www.cnblogs.com/fsxsmile/p/15048658.html
Copyright © 2011-2022 走看看