Jdbc 将100个sql文件加载到JMeter

Jdbc 将100个sql文件加载到JMeter,jdbc,jmeter,Jdbc,Jmeter,我使用JDBC连接通过Jmeter运行基准测试。我有大约100个独立的sql文件的tpc ds查询。我想知道如何将它们批量加载到Jmeter中 如有任何建议,将不胜感激。 谢谢。如果您的文件位于某个文件夹中,您可以执行以下操作: 在测试计划中添加某处 将以下代码放入Beanshell采样器的“脚本”区域: 您可以在需要时访问它们,如${query\u 0},${query\u 1}等,或者使用,即迭代它们 有关在JMeter测试中使用脚本的更多信息,请参阅文章@Dimitri,它成功了!谢谢。顺

我使用JDBC连接通过Jmeter运行基准测试。我有大约100个独立的sql文件的tpc ds查询。我想知道如何将它们批量加载到Jmeter中

如有任何建议,将不胜感激。
谢谢。

如果您的文件位于某个文件夹中,您可以执行以下操作:

  • 在测试计划中添加某处
  • 将以下代码放入Beanshell采样器的“脚本”区域:

    您可以在需要时访问它们,如
    ${query\u 0}
    ${query\u 1}
    等,或者使用,即迭代它们


    有关在JMeter测试中使用脚本的更多信息,请参阅文章

    @Dimitri,它成功了!谢谢。顺便问一下,您知道如何使用这种方法在最终摘要报告中记录相应sql文件的名称吗?(由于ForEach不支持多个变量)您可以使用属性来执行此操作,即将以下行添加到脚本:
    vars.put(“file_u”+i,sqlFile.getName())
    和user.properties文件的以下行:
    sample_variables=file1、file2、file3…等
    。这样,您将获得存储在.jtl结果文件中的文件名。有关使用JMeter属性以及设置和重写它们的方法的更多信息,请参阅
    import org.apache.commons.io.FileUtils;
    
    File folder = new File("/path/to/folder/where/sql/scripts/live");
    File[] sqlFiles = folder.listFiles();
    for (int i = 0; i < sqlFiles.length; i++) {
        File sqlFile = sqlFiles[i];
        if (sqlFile.isFile()) {
            vars.put("query_" + i, FileUtils.readFileToString(sqlFiles[i]));
        }
    }
    
    query_0=select something from somewhere;
    query_1=select 1 from dual;
    ....
    query99=drop database users;