2016-10-13 60 views
0
寫DB產值變量的錯誤

我使用的語法是​​獲得在JMeter的

Response code: 500 
Response message: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of: ``props.put("perpetual_id",vars.get("Inventory_id_1")); System.out.println(vars.ge . . . '' : Method Invocation props.put 

如果我使用System.out.println(vars.get("inventoryId_1"));,它印刷精美。

回答

1

您可能有一個錯字,即您的props.put...語句中缺少下劃線。

鑑於System.out.println(vars.get("inventoryId_1"));工作正常,我的期望是,你需要將行更改爲類似:

props.put("perpetual_id",vars.get("inventoryId_1")); 

很少有更多的提示:

  • 你可以使用bsh.shared namespaces作爲替代JMeter的屬性
  • 通過將您的Beanshell代碼放在try block之內,您可以獲得更爲人性化的錯誤消息,例如:

    try { 
        //your code here 
    } 
    catch (Throwable ex) { 
        log.error("Error in beanshell", ex); 
        throw ex; 
    } 
    

    這樣你就可以得到「平常」的堆棧跟蹤打印到jmeter.log文件,這將是方式更多的信息,將有助於你得到這個問題的底部,更快,更容易。

How to Use BeanShell: JMeter's Favorite Built-in Component指南的詳細信息,在JMeter的測試中使用的BeanShell。

+0

感謝Dmitri的快速響應,實際上我的語法在這裏有一個錯字(道歉混淆),我只在下面的語法嘗試。 props.put( 「perpetual_id」,vars.get( 「inventoryId_1」));仍然有同樣的錯誤。 – Rahul

+0

* jmeter.log *中有什麼? –

+0

中有豆殼一個NPE – Rahul