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_+"\r\n")
            } 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")+"\n");
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
posted on 2020-12-25 17:16  韩文星  阅读(778)  评论(0编辑  收藏  举报