zoukankan      html  css  js  c++  java
  • jmeter(四)beanshell脚本编写 存放token

    1.将fastjson-1.2.49.jar包置于jmeter的lib目录下 下载地址:http://www.itmop.com/downinfo/177817.html

    2.新建一个csv文件,用来存放token,记住你的目录

    3.在你的登录接口上面加一个json提取器

    4.在你的登录接口上面添加后置处理器-beanshell postprocessor

    后面你可以再优化以下

    再加if控制器

    如果token是空的(“${token}”!=null),就去token.csv里面去取,刚刚已经保存好token了

    如果token不是空的(“${token}”=null),就组Beanshell Sampler 写上 vars.put("token1",var.get("token)) 

     以下是几种脚本

    这种的话是加了判断,如果csv里面有值的话就不会继续存放token啦

    import com.alibaba.fastjson.JSONObject;
    byte[] responseData = prev.getResonseData();
    
    private String filepath = "D:/token.csv"
    
    BufferedoutputStream bos = null;
    fileOutputSteram fos = null;
    File file = null;
    
           JSONObject json = JSONObject.parseobject(new String(responseData));
           String token_ = var.get("token");    
            
        
            if(!token_equals("null")){
                BufferedWriter out = null;
                try{
                out =  new BufferedWriter(new BufferedWriter(
                new fileOutputSteram(filePath)));
                out.write(token_+"
    ")
                } catch (Exception e){
                e.printStackTrace();
                } finally {try { out.close();
                }catch (IOException e) { e.printStackTrace();
                }}
             } else { break;
                }
    
    5.如果你想简单一点,脚本就可以只写存放token的代码 
    import java.io.BufferedWriter;
    import java.io.FileWriter;
    import java.io.IOException;
    String token=bsh.args[0];
    try {
    FileWriter fstream=new FileWriter("E:\123.csv",true);
    BufferedWriter out=new BufferedWriter(fstream);
    out.write(vars.get("token")+"
    ");
    out.close();
    fstream.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    1 FileWriter fstream = new FileWriter("G:\output.csv",true); //写入数据到文件
    2 BufferedWriter out = new BufferedWriter(fstream);
    3 //","体现在csv文档中就是向右移一个单元格
    4 out.write(vars.get("userName")+","+ vars.get("password") +"," + vars.get("token")+","); //获取userNamer,password,token的值
    5 //换行
    6 out.write(System.getProperty("line.separator"));
    7 out.close();
    8 fstream.close();
    View Code
  • 相关阅读:
    CPP STL学习笔记
    CPP 设计模式学习
    blackarch 安装指南
    通过 Http 请求获取 GitHub 文件内容
    实践
    升级
    部署-MySql 之Linux篇
    数据库
    RxJs
    Vue
  • 原文地址:https://www.cnblogs.com/zhangying1/p/14185071.html
Copyright © 2011-2022 走看看