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();