2010-10-14 55 views
2

我有一个使用JQuery的页面。此页面也有隐藏的字段,其值由JQuery动态填充(在下拉选择时)。JMeter中的JQuery表达式

现在我有一个类似于这个$('* [name = staffid]')的javascript/jquery表达式.val() - 这个表达式为我提供了选定的值。我想将这个值存储在JMeter中的一个变量中,以便我可以将它传递给后续调用或提交期间。

如何在JMeter中评估/执行此表达式,以便我可以将这些值传递给后续请求或将其存储在变量中以备后用。

+0

您是否找到可行的解决方案? – BlackGaff 2010-11-18 22:18:53

回答

0

你可以尝试javascript function, ${__javaScript()}

beanshell processor,可以执行JavaScript的

+0

我试过这个,但JMeter抱怨jQuery的$引用是不可识别的jmeter.extractor.BSFPostProcessor:在BSF脚本中的问题org.apache.bsf.BSFException:JavaScript错误:内部错误:org.mozilla.javascript.EcmaError:ReferenceError:“ $“没有定义 – Bala 2010-10-14 15:33:16

+0

是的,JavaScript不起作用,因为JMeter只运行一个没有任何实际页面上下文的JavaScript表达式。这正是JMeter的工作原理:几乎所有负载测试工具都不会真正处理页面,设置DOM,评估JavaScript等。 – 2010-10-14 16:34:57

0

您将不能反对使用JMeter的网页评估jQuery的表达式。我希望这很容易,但是jQuery需要一个完全运行的DOM + JavaScript引擎,而这只是JMeter没有提供的。

无耻的插件:我开始的公司BrowserMob通过运行由Selenium驱动的实际浏览器来加载测试。当使用真实的浏览器时,你不必做这种类型的东西。查看http://browsermob.com