专业的JAVA编程教程与资源

网站首页 > java教程 正文

每日分享- jmeter 如何将返回变量填到 csv 里,再供 后续接口使用

temp10 2024-11-24 21:52:39 java教程 12 ℃ 0 评论

在 JMeter 中,可以使用 CSV Data Set Config 元件来读取 CSV 文件中的数据,并在测试过程中将其作为变量使用。而要将返回的变量值填充到 CSV 文件中,可以使用 Beanshell PostProcessor 元件或 JSR223 PostProcessor 元件,在接口返回时将变量写入到 CSV 文件中。

下面是详细步骤:

每日分享- jmeter 如何将返回变量填到 csv 里,再供 后续接口使用

创建 CSV 文件,并将需要传递的变量作为列头。

例如,我们创建一个名为 data.csv 的 CSV 文件,它包含两个列 usernamepassword。这些列将存储从前一个接口中提取的数据,并在后续接口中使用。

username,password

在 JMeter 中添加CSV Data Set Config元件,将刚刚创建的 CSV 文件的路径设置为Filename,将列分隔符设置为,,将行分隔符设置为\n。

在接口请求中,使用Regular Expression Extractor元件或JSON Extractor元件来提取需要存储到 CSV 文件中的数据。

例如,我们提取响应中的 usernamepassword 值:

username: ${__jsonpath($..username)}
password: ${__jsonpath($..password)}

添加Beanshell PostProcessor元件或JSR223 PostProcessor元件,在接口响应后执行脚本。

以下是一个 Beanshell PostProcessor 的例子,它将从响应中提取的 usernamepassword 值写入到 CSV 文件中:

import org.apache.jmeter.services.FileServer;
import java.io.FileWriter;

String username = vars.get("username");
String password = vars.get("password");

String csvFile = "data.csv";
String csvHeader = "username,password";

if (!FileServer.getFileServer().exists(csvFile)) {
    new FileWriter(csvFile, true).append(csvHeader + "\n").close();
}

new FileWriter(csvFile, true).append(username + "," + password + "\n").close();

在这个例子中,我们使用 FileWriter 类来将 usernamepassword 值写入到 CSV 文件中。如果文件不存在,我们将首先写入 CSV 列头,然后再写入值。

将接口请求和Beanshell PostProcessor元件或JSR223 PostProcessor元件组合成一个线程组,并运行测试。

运行测试后,我们可以打开 data.csv 文件来查看存储的值是否正确。在后续的接口请求中,我们可以使用 ${username}${password} 这些变量来传递之前接口中存储的值。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表