当前位置: 首页 > 知识库问答 >
问题:

从jmeter读取csv数据配置时的Somtime问题

丌官寒
2023-03-14

我在创建性能脚本时遇到了一个问题,它与从csv数据配置中读取数据有关。

我的脚本有如下结构:

    null

创建csv文件-在这个线程之后,我将有很多csv文件基于中心的数目。例如:4个不同名称的文件

String[] attempt = (vars.get("ListAttemptId_ALL")).split(",");
int length = attempt.length;
String dir = props.get("UserFilePath").toString();
String center = vars.get("Center");

File csvFile = new File(dir, center + ".csv");

if(!csvFile.exists()){
    FileWriter fstream = new FileWriter(csvFile);
    BufferedWriter out = new BufferedWriter(fstream);

    for(int i = 1; i <= length; i++){
            out.write(attempt[i-1]);
            out.write(System.getProperty("line.separator"));
    }
    out.close();
    fstream.close();
}

下一个线程获取文件的名称,并使用CSV文件在所有行上循环

String center = vars.get("Center"); 
String fileName = center + ".csv";
props.put("path_${__threadNum}", String.valueOf(fileName));

因为我有很多线程将运行相同的文件,所以我只需要检查__threadnum来找到这个线程需要使用的文件的名称。我是用循环控制器来越过CSV文件,运行到文件的末尾就会停止线程。下面是这个循环的内部

CSV data Set config:  
Filename: ${__property(UserFilePath)}\\${__P(path_${__threadNum})}  

共有1个答案

杜辰龙
2023-03-14

我对这个问题有答案:
-我将所有数据添加到一个文件csv,并从头到尾读取。使用If控制器在动作前验证数据。

 类似资料:
  • 我使用Jmeter和Selenium Webdriver采样器 代码CSV配置 我的问题是它没有从CSV中挑选。以上两行生成结果“loginName”,而不是从文件中选择实际的登录名。我用过单引号、双引号等,但运气不佳。使用${loginName}会产生错误。知道什么地方出了问题,如何解决吗?

  • 我正在创建一个Jmeter docker容器。测试输入由CSV(数据集配置)驱动。我需要在脚本中设置什么文件名路径

  • 我有一个JMeter设置,它从CSV数据集配置元素中配置的CSV文件中读取数据。它工作正常,CSV文件在CSV数据集配置中指定 - 现在我想从命令行而不是GUI调用JMeter,并且我想为上面的元素指定一个不同的文件名。怎么做? 我尝试了“-JCSVNAME=”,但它似乎不起作用。 想法?

  • 为什么EOF传递给它?有人能提供一个解决方案吗? 我遵循了以下堆栈溢出问题的步骤。27634885链接。

  • 我试图在JMeter中加载我的CSV文件,但我一直得到下面的错误。我将文件结构设置为 c: \claimstest\claimsload.jmx C:\索赔stest\policies.csv

  • CSV文件中的数据在jeter从系统中未读取 请查看以下关于该问题的详细信息。 线程组 HTTP 请求 CSV 数据集配置 [查看结果树][4] csv 文件 :p一个