如何在BSF或JSR233(JMeter)

时间:2016-07-06 09:35:13

标签: webdriver jmeter

我在JMeter中遇到过Webdriver Sampler的问题。我想在JSR233中定义一些函数,然后从其他线程组中调用它们。但我不知道如何使用WDS作为Webdriver Sampler。

测试计划如下:

  • 测试计划
    • setUp线程组
      • JSR233 Sampler(定义函数)
    • 线程组1
      • Webdriver Sampler A(来自JSR233的调用函数)
      • Webdriver Sampler B

我定义的功能,如下:

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

我认为要做的就是这些问题:

任何人都可以帮助我吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

我认为您无法在不同的线程组中共享BSF功能,请考虑使用Beanshell Test Elementsbsh.shared namespace