Groovy: нет сигнатуры метода: static java.lang.String.ValueOf () применимо для типов аргументов: (java.lang.String) значения: [1572245927833] - PullRequest
0 голосов
/ 28 октября 2019

Я новичок в Groovy и сейчас переделываю JS-скрипт в Groovy в JMeter. У меня есть постоянная ошибка No signature of method: static java.lang.String.ValueOf() is applicable for argument types: (java.lang.String) values: [1572245927833] при запуске в коде ниже в JSR223 Groovy в JMeter, ошибка для номера строки с оператором возврата:

def clientTransactionIdGen() {
    String timestamp = new Date().getTime().toString();
    def rand = get_random(1000000, 9999999);
    def user_id = vars.get("user_id");
    return timestamp + String.valueOf(rand) + '^' + user_id;
}

1572245927833 - это время в секундах (так что переменная метки времени) и тамнет преобразования ValueOf () в соответствии с оператором return. Я даже изменил тип отметки времени с def на String, но все равно ошибка указывает на строку с оператором return. Почему такая ошибка в таком месте? Как я понимаю, есть попытка преобразовать уже строковый объект в строку. Почему? Та же самая ошибка на самом деле, когда у меня есть длинная метка времени и конвертирование в обратной строке, также для меня загадка:

def clientTransactionIdGen() {
    def timestamp = new Date().getTime();
    def rand = get_random(1000000, 9999999);
    def user_id = vars.get("user_id");
    return String.valueOf(timestamp) + String.valueOf(rand) + '^' + user_id;
}

ДОБАВЛЕНО: в хороших замечаниях все ValueOf заменены на valueOf во всех скриптах, но ошибка все равновыше остается и говорит: No signature of method: static java.lang.String.ValueOf()

ДОБАВЛЕНО: решено после перезагрузки JMeter, по-видимому, что-то осталось в кеше и не позволяет должной отладки.

1 Ответ

2 голосов
/ 28 октября 2019

Java-методы начинаются со строчной буквы valueOf :

return timestamp + String.valueOf(rand) + '^' + user_id;
...