2015-12-11 4 views
0

Я написал простой скрипт beanshell, чтобы получить несколько значений, которые я выбрал с помощью регулярного выражения, и записать их в CSV-файл в строке.Значения, записанные в файле CSV, находятся в цикле. Мне нужна только одна строка (Jmeter)

nic = vars.get("NicNo01"); 
name = vars.get("Name01"); 
loanId = vars.get("Loan_Id"); 

f = new FileOutputStream("C:/Users/User/Desktop/scripts/Final/result.csv", true); 
p = new PrintStream(f); 
this.interpreter.setOut(p); 
print(nic + "," + name + "," + loanId); 
f.close(); 

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

null,null,null 
null,null,null 
588583492V,A B C Fernando,null 
588583492V,A B C Fernando,null 
588583492V,A B C Fernando,null 
588583492V,A B C Fernando,127180 

Почему существует цикл, такой как экспорт данных? И как я могу получить только правильную финальную строку?

+0

ли вам нужны записи, которые имеют все 3 поля? –

+0

Мне действительно нужны 3 значения, которые были назначены переменным наверху для записи в CSV-файле. Как и последняя строка данных, которые были записаны - «588583492V, A B C Fernando, 127180» – user3149750

+0

Использовали ли вы пробник Debug, чтобы проверить, действительно ли вы получаете желаемые значения в переменных. – TestingWithArif

ответ

0

В случае большого количества потоков Beanshell может быть не в состоянии правильно хранить данные из-за проблем с производительностью. Попробуйте переключиться на: JSR223 Post Processor and use Groovy as scripting language

Другой вариант может быть использован sample_variables. Добавьте следующую строку в user.properties файл (живет в/бен папке установки JMeter)

sample_variables=NicNo01,Name01,Loan_Id 

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

1

Как насчет писать только тогда, когда все переменные не нулевой:

nic = vars.get("NicNo01"); 
name = vars.get("Name01"); 
loanId = vars.get("Loan_Id"); 

if(nic == null || name == null || loanId == null) 
    return; 

// otherwise write to file