2012-12-13 36 views
1

我使用JavaScript來解析BSF聲明中的JSON結果。 爲了獲得更多的可重用性,我嘗試編寫自己的JavaScript庫。我想在我的BSF Assertion中使用這個庫。JMeter如何在BSF聲明中包含JavaScript編寫的自己的庫

也許我誤解了這些文檔,反正我無法找到導入我的BSF庫。 只有劑量BeanShell提供這種方法來導入外部腳本? (http://jmeter.apache.org/usermanual/functions.html#__BeanShell)

我甚至嘗試另一種方式,但徒勞無功。

1.創建BSF預處理器,並將其中的庫(名爲:myScript)放入其中。

function test(){ 
    log.info("Test Library"); 
} 

2.Import代碼,並調用它,

${__BeanShell(vars.get("myScript"))}; 
test() 

但它不工作.. :(

任何想法?

+0

什麼是導入庫的意思?包含JavaScript外部文件? –

+0

是的,我想從外部文件中包含我自己的JavaScript庫。 – Ben

+0

我的回答有用嗎?如果是的話,你應該接受它,這樣對別人有幫助 –

回答

1

您可以使用JSR223預處理器 選擇Javascript語言

包含您的圖書館使用例如__FileToString jsCode並把它放在UserDefinedVariable:

jsCode/__FileToString(path to file) 

在我的例子中,文件包含:

var s = "toto"; 

在你的腳本:

${jsCode}; 
vars.put("toto", s); 

反正我不知道使用JavaScript是偉大的表演。

Groovy是一個更好的選擇。

+0

嗨,它的工作原理!當我們需要它時,這種方式會「代替」代碼嗎?如果我有一個大的javascript需要導入,但我可能不會調用它的任何功能。它會將整個JavaScript放到我的運行環境中,所以它會導致性能問題。我們有另一種方式來導入JavaScript?就像我們在BeanShell中導入庫一樣。例如'import com.google.gson。*;'謝謝! – Ben

+0

不與JavaScript,如果它的作品,你應該接受答案,並upvote,這對他人有幫助 –