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