zl程序教程

您现在的位置是:首页 >  其他

当前栏目

jmeter将参数值写入到指定文件(转)

文件 指定 写入 JMeter 参数值
2023-09-14 08:57:39 时间

 

有时在测试过程中需要将测试过程中生成的参数保存下来,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);