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

Cannot invoke method replace() on null object, but string is exists

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

Response message: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method replace() on null object

代码:

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

例如这段代码:

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)

工作正常,以下快照证明了这一点:

很可能您的 filename1 变量没有任何值,仔细检查您定义它的地方并确保它被正确分配。

如果值来自 JMeter Variable - you can see it using Debug Sampler and View Results Tree listener 组合