jmeter在本地生成大量token,第二次执行时,删除之前生成的token

思路:

1,创建二个线程组,第一个线程组只执行一次,用来清空本地的一个文件

2,第二线程运行100次,每次生成一条token,存在本地,这样就会生成100条token

下次执行时,会执行第一个线程组,会把100条数据清空

jmeter在本地生成大量token,第二次执行时,删除之前生成的token_第1张图片

 jmeter在本地生成大量token,第二次执行时,删除之前生成的token_第2张图片

 

代码如下:

import org.json.*; 
import java.util.Arrays; 
import org.json.JSONArray;  
import org.json.JSONException;  
import org.json.JSONObject; 
import java.io.*;
       /**执行一次sampler就会在本地删除一个文件*/
        String path = "C:\\jmeterFile\\tokenFile\\token.txt" ; 
        //定义本地一个绝对路径的目录

/**写一个清空本地绝对路径的一个方法*/
public static void clearInfoForFile(String path) {
        File file =new File(path);
        try {
            if(!file.exists()) {
                file.createNewFile();
            }
            FileWriter fileWriter =new FileWriter(file);
            fileWriter.write("");
            fileWriter.flush();
            fileWriter.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
}
clearInfoForFile(path);
//调这个方法

 

生成本地token的代码:

import org.json.*; 
import java.util.Arrays; 
import org.json.JSONArray;  
import org.json.JSONException;  
import org.json.JSONObject; 
 
    String data_errmsg = vars.get("p_errmsg");
    String data_token = vars.get("token");
    String data_success = vars.get("p_success");

    log.info("-----data_errmsg---------: " + data_errmsg);
    log.info("-------data_token-------: " + data_token);
    log.info("--------data_success------: " + data_success);

   String response_data = SampleResult.getResponseDataAsString();
   String request_data = prev.getQueryString();
//   log.info("-----response_data--------响应:"+ response_data);
//   log.info("--------request_data------请求:"+ request_data);

   JSONObject responseJson = new JSONObject(response_data);
   //将String类型的返回值构造成JSONObject对象,才可使用Java对象的方法对其进行操作;
   String StrData = responseJson.get("content").toString(); 
//   String stringToken = responseJson.getString("access_token"); 
   log.info("--------------StrData:"+ StrData);
   JSONObject responseJson1 = new JSONObject(StrData);
   String StrToken =responseJson1.get("access_token").toString();
   log.info("--------------StrToken:"+ StrToken);

 /**先清除之前生成的token*/   
//
//String path = "C:\\jmeterFile\\tokenFile" ; 
//        File file = new File(path);
//        if (!file.exists()) {
//            System.out.println("目录不存在" + "the dir is not exists !");
//            return false;
//        }
//        String[] content = file.list();//取得当前目录下所有文件和文件夹
//        for (String name : content) {
//            File temp = new File(path, name);
//
//            if (temp.isDirectory()) {
//                //判断是否是目录  
//                temp.delete();
//                //删除空目录  
//            } else {
//                if (!temp.delete()) {
//                    //直接删除文件
//                    System.err.println("Failed to delete " + name);
//                }
//        
//
//            }
//return true;

/**重新创建一个文件*/


/***
把得到的StrToken,放到本地的一个文件里面
**/
   FileWriter fs = new FileWriter("C:\\jmeterFile\\tokenFile\\token.txt",true);
   BufferedWriter out = new BufferedWriter(fs);
   out.write(StrToken+"\n");
   fs.flush();
   out.close();
   fs.close();
  
//判断,请求是否成功                          
if(!data_success.equals("true") ) {
    Failure = true; 
    FailureMessage = "事物失败:打印请求和响应的值"+ "请求的值:"+request_data+"响应的值:"+response_data;
   
}else{
    FailureMessage = "事务成功";
}

 

 

 

你可能感兴趣的:(jmeter,测试,jmeter)