Пробоотборник Beansheel не останавливается после выполнения - PullRequest
0 голосов
/ 27 апреля 2018

Я печатаю ответы в csv-файле, используя сэмплер beanshell, но он не останавливается после завершения.

Что можно сделать, чтобы он остановился после печати. Ниже приведен пример кода, который я использовал, acctId используется в препроцессоре из другой группы потоков.

import java.io.FileWriter;
import java.util.Arrays;
import java.io.Writer;
import java.util.List;

char SEPARATOR = ',';

public void writeLine(FileWriter writer, String[] params, char separator)

{
   boolean firstParam = true;

   StringBuilder stringBuilder = new StringBuilder();

   String param = "";
   for (int i = 0; i <params.length; i++)

   {

      param = params[i];

      log.info(param);

       if (!firstParam)

       {
               stringBuilder.append(separator);

       }

       stringBuilder.append(param);

       firstParam = false;

   }

   stringBuilder.append("\n");

   log.info(stringBuilder.toString());

   writer.append(stringBuilder.toString());

}

String csvFile = "D:/jmeter/test1/result.csv"; // for example '/User/Downloads/blabla.csv'

//String[] params = {"${acctId}", "${tranId}"};
String[] params = {"${acctId}"};

FileWriter fileWriter = new FileWriter(csvFile, true);

writeLine(fileWriter, params, SEPARATOR);

fileWriter.flush();

fileWriter.close();

Ответы [ 2 ]

0 голосов
/ 01 мая 2018

Рекомендуемый способ сохранения переменной в CSV-файле - Пример переменных свойство

  1. Добавить следующую строку в user.properties файл (находится в папке "bin" вашей установки JMeter)

    sample_variables=acctId
    
  2. Перезапустите JMeter, чтобы забрать объект
  3. Вот и все, когда вы запускаете свой тест JMeter в режиме командной строки без графического интерфейса как:

    jmeter -n -t test.jmx -l result.jtl 
    

    Вы увидите дополнительный столбец в файле result.jtl, содержащий значение переменной acctId для каждого сэмплера.


Также следует помнить, что начиная с JMeter 3.1 рекомендуется использовать Groovy для любых сценариев . Вы сможете заменить свой код на что-то вроде:

new File('D:/jmeter/test1/result.csv') << vars.get('acctId') << System.getProperty('line.separator')

Если вам не нравится синтаксис Groovy, учтите, что вы можете использовать FileUtils.writeStringToFile () function

0 голосов
/ 27 апреля 2018

Вы можете использовать сэмплер «View Result Tree» или «Simple Data Writer» для сохранения ответных сообщений. Просто нажмите «Настроить» и используйте «Сохранить как XML» и выберите «Сохранить данные ответа (XML)» с другими обязательными полями. Думал, это не рекомендуется для нагрузочного теста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...