2016-07-06 16 views
0

我在JMeter中遇到了Webdriver採樣器的問題。我想在JSR233中定義一些函數,然後從其他線程組中調用它們。但我不知道如何使用WDS作爲Webdriver Sampler。如何在BSF或JSR233中使用WDS變量(JMeter)

測試計劃是這樣的:

  • 測試計劃
    • 的setUp線程組
      • JSR233採樣(定義函數)
    • 線程組1
      • 的webdriver採樣A(從JSR233呼叫功能)
      • webdriver的採樣乙

我先前所定義的函數,如下所示:

var WDS = com.googlecode.jmeter.plugins.webdriver.sampler.WebDriverScriptable; 
var getBroswer = WDS.browser.get('http://www.google.com.vn'); 

但我得到了錯誤

2016/07/06 16:19:06 WARN - jmeter.protocol.java.sampler.BSFSampler: BSF error org.apache.bsf.BSFException: JavaScript Error: Java class "com.googlecode.jmeter.plugins.webdriver.sampler.WebDriverScriptable" has no public instance field or method named "browser". 
at org.apache.jmeter.util.BSFJavaScriptEngine.handleError(BSFJavaScriptEngine.java:202) 
at org.apache.jmeter.util.BSFJavaScriptEngine.eval(BSFJavaScriptEngine.java:152) 
at org.apache.jmeter.protocol.java.sampler.BSFSampler.sample(BSFSampler.java:98) 
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:465) 
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:410) 
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:241) 
at java.lang.Thread.run(Thread.java:745) 

那麼,我的問題是,如何在使用BSF,JSR233定義函數時如何使用WDS,還有WDS.browser

我認爲做的方式是一樣的這些問題:

任何人都可以幫我嗎?提前致謝。

+0

可能'WDS.getBrowser()。得到...' –

+0

同樣的問題:(感謝您的建議,我會嘗試另一種方式...... –

回答

0

我不認爲你可以在不同線程組間共享BSF功能,可以考慮使用Beanshell Test Elementsbsh.shared namespace

+0

嗨@Dmitri 首先,定義BSF的功能之後,第二,使用Beanshell,它是純Java,我怎樣才能在WebDriver Sampler中使用它(使用javascript)?第三,即使使用bsh.shared命名空間,我也需要使用bash.shared命名空間。首先定義函數,在我的函數中,它必須包含一些代碼,比如'WDS.browser ...',那麼我怎樣才能使用'WDS'或'WDS.browser'來定義我的函數,然後我可以調用它們Webdriver取樣器? –