无法在空对象上调用方法replace(),但是存在字符串

时间:2018-11-08 11:41:30

标签: groovy jmeter jsr223

我有一个字符串,我将其放入vars中。我在Debug中看到变量的值,但是尝试在其上调用replace()方法时会收到错误消息。

  

响应消息:javax.script.ScriptException:   java.lang.NullPointerException:无法在null上调用方法replace()   对象

代码:

vars.put("name", filename1); //to check value in Debug
String fname = vars.get("name");
fname = fname.replace("C://_private", "D://_private");

1 个答案:

答案 0 :(得分:0)

例如此代码:

def filename1 = 'C://_private'
vars.put('name', filename1)
String fname = vars.get('name')
log.info('Before: ' + fname)
fname = fname.replace('C://_private', 'D://_private')
log.info('After: ' + fname)

工作正常,如以下快照所示:

enter image description here

您的filename1变量很可能没有任何值,请仔细检查定义变量的位置并确保已正确分配该变量。

如果值来自JMeter Variable-您可以使用Debug Sampler and View Results Tree listener组合看到它

enter image description here