Groovy:没有方法签名:静态 java.lang.String.ValueOf() 适用于参数类型:(java.lang.String) 值:[1572245927833]
Groovy: No signature of method: static java.lang.String.ValueOf() is applicable for argument types: (java.lang.String) values: [1572245927833]
我是 Groovy 的新手,现在在 JMeter 中将 JS 脚本修改为 Groovy。在 JMeter 的 JSR223 Groovy 下面的代码中 运行 时,我有持续错误 No signature of method: static java.lang.String.ValueOf() is applicable for argument types: (java.lang.String) values: [1572245927833]
,行号错误 return 语句:
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 是以秒为单位的时间(因此时间戳变量)并且没有符合 return 语句的 ValueOf() 转换。我什至将时间戳类型从 def
更改为 String
,仍然错误指向符合 return
语句。为什么在这样的地方出现这样的错误?据我了解,有人尝试将已经存在的字符串对象转换为字符串。为什么?同样的错误实际上是当我有那么长的时间戳并在 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 后已解决,显然某些内容仍保留在缓存中并且不允许进行正确的调试。
Java 方法以小写开头 valueOf:
return timestamp + String.valueOf(rand) + '^' + user_id;
我是 Groovy 的新手,现在在 JMeter 中将 JS 脚本修改为 Groovy。在 JMeter 的 JSR223 Groovy 下面的代码中 运行 时,我有持续错误 No signature of method: static java.lang.String.ValueOf() is applicable for argument types: (java.lang.String) values: [1572245927833]
,行号错误 return 语句:
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 是以秒为单位的时间(因此时间戳变量)并且没有符合 return 语句的 ValueOf() 转换。我什至将时间戳类型从 def
更改为 String
,仍然错误指向符合 return
语句。为什么在这样的地方出现这样的错误?据我了解,有人尝试将已经存在的字符串对象转换为字符串。为什么?同样的错误实际上是当我有那么长的时间戳并在 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 后已解决,显然某些内容仍保留在缓存中并且不允许进行正确的调试。
Java 方法以小写开头 valueOf:
return timestamp + String.valueOf(rand) + '^' + user_id;