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

猜你喜欢

转载自www.cnblogs.com/a00ium/p/10360377.html