2015-08-25 3 views
4

Я пытаюсь создать тест нагрузки JMeter. Мне нужен тест, чтобы взять образец файла журнала и изменить его имя. Единственный способ, которым я мог бы найти, чтобы сделать это, чтобы скопировать файл в BeanShell препроцессора, но я получаю следующее сообщение об ошибке:JMeter - Статический метод get (java.lang.String) не найден в class'java.nio.file.Paths '

ERROR - jmeter.util.BeanShellInterpreter: Error invoking bsh method: evalSourced file: inline evaluation of: ``import java.nio.file.StandardCopyOption; import java.io.IOException; import java . . . '' : Typed variable declaration : Error in method invocation: Static method get(java.lang.String) not found in class'java.nio.file.Paths' 

код, я использую следующий:

import java.nio.file.StandardCopyOption; 
import java.io.IOException; 
import java.nio.file.Files; 
import java.nio.file.Path; 
import java.nio.file.Paths; 

Path source = Paths.get(vars.get("filename"); 

String filename = "/Users/GX1/Desktop/jmeter/tmp/Device_"+vars.get("global_counter")+"_upload_"+vars.get("file_counter")+".csv.gz"; 

Path target = Paths.get(filename); 
Files.copy(source, target, StandardCopyOption.REPLACE_EXISTING); 
vars.put("filename", filename); 

имя файла , global_counter и file_counter - переменные jmeter.

Кто-нибудь знает, почему я получаю эту ошибку? Препроцессор beanshell не работает так, как я его пытаюсь использовать?

+0

BeanShell Preprocessor - медленный переводчик. JSR223 + Groovy + Ключ к сборке - быстрый. – owasp

ответ

6

Угадай заключается в том, что проблема заключается в том, что он не заполняет параметр varargs. Попробуйте:

Path target = Paths.get(filename, new String[0]);