2015-07-22 3 views
2

Я хочу, чтобы My Jmeter читал несколько файлов csv из местоположения, скажем c: \ Jmeter \ file.Как читать несколько файлов csv из местоположения с помощью Jmeter

В настоящее время, если я предоставляю конкретное имя файла csv в'Filename 'в данных CSV Set Config, Jmeter распознает файл и выполнит мой скрипт.

Я не хочу жестко кодировать имя файла, я хочу, чтобы jmeter автоматически считывал данные из местоположения.

Я написал BeenShell PreProcessor (так как я не мог найти простого решения), эта программа считывает список всех файлов csv из местоположения и сохраняет их в переменной. 'VcsvFilename'

import java.io.File;

File folder = new File("C:\\Intel\\CsvFiles"); 
    File[] listOfFiles = folder.listFiles(); 
    String[] desiredNamesOfListOfFiles = new String[listOfFiles.length]; 
    String strFileName; 
    int intCounter=0; 
    String count; 
    int idx = 0 ; 
    for (int i = 0; i < listOfFiles.length; i++) { 
     File file = listOfFiles[i]; 
     if (file.isFile() && file.getName().endsWith(".csv")) { 
     /* do somthing with content */ 
      System.out.println(" File Name is ~~~~~~~~~~~~~~~~~~ " + file.getName()); 
      desiredNamesOfListOfFiles[idx++] = file.getName(); 
     } 
    } 
    System.out.println(" Length of array is " + desiredNamesOfListOfFiles.length); 
    for(int j = 0 ; j < idx ; j++){ 

    // System.out.println(" File name inside array is " + desiredNamesOfListOfFiles[j]); 
     // ;;vars.put("VcsvFilename",desiredNamesOfListOfFiles[j]); 
     strFileName = strFileName + ";" +desiredNamesOfListOfFiles[j]; 
     intCounter++; 
    } 

    count=Integer.toString(intCounter); 

    vars.put("VcsvFilename",strFileName); 
    vars.put("FileCounter",count); 

Я не могу использовать эту переменную под конфигурацией данных CSV.

Есть ли у кого-нибудь какое-либо решение?

ответ

0

Конфигурация набора данных CSV инициализируется во время запуска JMeter, поэтому вы не сможете использовать переменную JMeter в качестве части пути к файлу.

Возможные обходные пути в:

Обе функции поддерживают несколько входных файлов

0

CSV DataSet не в состоянии прочитать несколько CSV-файлов так или иначе.

И он не может использовать переменную, только свойство.

Почему вы хотите это сделать?

Если это только объединить их, то вариант заключается в использовании setupThreadGroup, который будет объединять CSV в 1 файл, и вы будете использовать этот файл в вас Набор CSV данных

Смежные вопросы