jmeter將參數值寫入到指定文件(轉)


 

有時在測試過程中需要將測試過程中生成的參數保存下來,jmeter並沒有此類功能,此時,可以 通過beanshell編寫代碼來實現

思路: 每次請求響應返回后,通過正則表達式獲取到需要保存的值,通過Bean shell調用已經寫好的Java代碼,將值寫入指定的文件中

1、編寫java類AppendFile

package excel;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class AppendFile {
    // 將content寫入到指定文件fileName中
    public static void appendFile(String fileName, String content) throws IOException {
        FileWriter writer = null;
        try {

            writer = new FileWriter(fileName, true);
            content = content + "\n";
            writer.write(content);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (writer != null) {
                writer.close();
            }
        }
    }

    // fileName中的內容清空
    public static void clearFile(String fileName) throws IOException {
        FileWriter writer = null;
        try {

            writer = new FileWriter(fileName);
            writer.write("");
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (writer != null) {
                writer.close();
            }
        }
    }
}
package excel;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class AppendFile {
    // 將content寫入到指定文件fileName中
    public static void appendFile(String fileName, String content) throws IOException {
        FileWriter writer = null;
        try {

            writer = new FileWriter(fileName, true);
            content = content + "\n";
            writer.write(content);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (writer != null) {
                writer.close();
            }
        }
    }

    // fileName中的內容清空
    public static void clearFile(String fileName) throws IOException {
        FileWriter writer = null;
        try {

            writer = new FileWriter(fileName);
            writer.write("");
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (writer != null) {
                writer.close();
            }
        }
    }
}
View Code

 

2、將代碼打成jar包(Eclipse點擊Export打成jar包writeFile)放在jmeter的lib/ext目錄下

3、創建一個后置的BeanShell PostProcessor處理器,代碼如下:

 

import writeFile.*;
System.out.println("******寫入文件*************");
String filePath = "d://token.txt";
String content = vars.get("token");   //此處的cash就是從sample中獲取的變量名,根據實際情況修改。
AppendFile.appendFile(filePath,content);

 


免責聲明!

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



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