2014-07-10 28 views
3

我正在運行JMeter測試並希望從CSV讀取某些值(由於其他原因,我無法使用通常用於讀取CSV的CSV數據集配置。是由於CSV在測試中加載/讀取的順序)。「對象構造函數」JMeter中的Beanshell錯誤

使用一個BeanShell預處理器,我已經使用下面的腳本來讀取文件,以便我可以解析並找到我需要的值 - 此時,我只是想輸入文件,然後我會在腳本中添加更多以實際解析數據。

docFile=new File("C:/Dev/jmeter-support.csv"); 
BufferedInputStream bin; 

bin = new BufferedInputStream(new FileInputStream(docFile)); 
while(bin.read()!=-1){} 

bin.close(); 

但是,下面的錯誤絆倒了我。我曾嘗試過預先聲明變量的對象類型,但同樣的錯誤仍然持續存在。目前還不清楚在這個腳本中可能導致錯誤的原因。

jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval 
Sourced file: inline evaluation of: ``//String fileName = vars.get("skillsFile"); docFile=new File("C:/Dev/jmeter-sup . . . '' : Object constructor 

回答

0

我剛試過。你的腳本是正確的,我沒有看到任何錯誤。請檢查文件是否存在路徑 - C:/Dev/jmeter-support.csv

enter image description here

+0

謝謝你的努力。我會給它一個鏡頭 - 雖然我希望這可能是背後的錯誤的原因,同時我會踢我自己,如果是這樣:p – krodmannix

+0

請讓我知道,如果它是一些其他問題 - 我會喜歡學習:) – vins

+0

這不是問題 - 我嘗試了多個文件,但它仍然無法正常工作。你使用的是什麼版本的JMeter? – krodmannix

-1

嘗試在你的豆殼腳本使用try catch塊,所以它會給你更多有關確切異常問題的詳細信息。例如:

try{ 
docFile=new File("C:/Dev/jmeter-support.csv"); 
BufferedInputStream bin; 

bin = new BufferedInputStream(new FileInputStream(docFile)); 
while(bin.read()!=-1){} 

bin.close(); 

} 

catch (Throwable ex) { 
log.error("Error in Beanshell", ex); 
throw ex; 
} 

對於例外情況,看起來像文件路徑中的前向空格有問題,您可以看到使用上面的try-catch查看詳細異常。 可以請你 嘗試 「C:\開發\ JMeter的-support.csv」 而不是 「C:/Dev/jmeter-support.csv」

+0

歡迎使用堆棧溢出。答案應包含OP的問題的解決方案。然而,你的答案似乎只是一個說明,可以更多地瞭解它,而不是提供任何解決問題的方法。請考慮更新它,以便解決OP所具有的確切問題。 – FluffyKitten