記一次jmeter從txt文本獲取數值並給測試計划的變量賦值,jmeter永久性修改變量。


前言:

需要永久性的改變變量。

其實這個辦法並不是最好的,但是是最容易實現的。后期可做成從數據庫里直接取值。

 

 

 

賦值BeanShell

import java.io.File;  
import java.io.InputStreamReader;  
import java.io.BufferedReader;  
import java.io.BufferedWriter;  
import java.io.FileInputStream;  
import java.io.FileWriter;  
import java.util.ArrayList;
import java.util.List;

    private String stringLine="";

    public static int getPrice(int k)
    {
    //        /* 讀入TXT文件 */  
        String pathname = "D:\\\\Java\\\\Jmeter\\\\apache-jmeter-5.0\\\\bin\\\\DaiShouFuLuRuYongHu.txt"; // 絕對路徑或相對路徑都可以,這里是絕對路徑
        File filename = new File(pathname); // 要讀取以上路徑的input。txt文件
        InputStreamReader reader = new InputStreamReader(new FileInputStream(filename)); // 建立一個輸入流對象reader
        BufferedReader br = new BufferedReader(reader); // 建立一個對象,它把文件內容轉成計算機能讀懂的語言
        List line = new ArrayList();
        List lineint = new ArrayList();
        int i=0;
        String[] s = br.readLine().split(",");
        for(i =0 ; i<s.length; i++){
            line.add(s[i]);
        }
        for (i = 0;i<line.size();i++)
        {
            //去掉多余的空格
            String b = line.get(i).toString().trim();
            //轉成int並存儲
            lineint.add(Integer.parseInt(b)+1);
            System.out.println(i+"I:"+lineint.get(i));
        }
        //轉成字符串
        stringLine = "";
        for (i = 0;i<line.size();i++)
        {
            //轉成字符
            String b = String.valueOf(lineint.get(i));
            //轉成String並存儲
            if(i!=0)
            {
                stringLine += ",";
            }
            stringLine+=b;
        }
        System.out.println(stringLine);

return lineint.get(k);
    }   

public static void setTxt()
{
    System.out.println("輸入中");
       File writename = new File("D:\\\\Java\\\\Jmeter\\\\apache-jmeter-5.0\\\\bin\\\\DaiShouFuLuRuYongHu.txt");// 相對路徑,如果沒有則要建立一個新的output。txt文件
        //writename.createNewFile(); // 創建新文件
        BufferedWriter out = new BufferedWriter(new FileWriter(writename));
        System.out.println("輸入中");
        out.write(stringLine); // \r\n即為換行
        out.flush(); // 把緩存區內容壓入文件
        out.close(); // 最后記得關閉文件    
}


//vars.get("${merchantName}");
int cc = getPrice(0);
String aa = vars.get("merchantName");
aa+=cc;
vars.put("merchantName",aa);

int dd = getPrice(1);
String ddd = "";
ddd+=dd;
vars.put("SPid",ddd);

System.out.println(stringLine);
setTxt();
System.out.println("寫入文件成功");

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM