如何在WebDriver Sampler中设置JMeter Vars?
问题内容:
// I had previously used a CSS/JQuery extractor to get a URL from a page and add it to JMeter vars - accessing it here
var pageURL = "${valueFromJmeterVars}";
// navigate to that url
WDS.browser.get(pageURL);
// selecting an element
var button = wait.until(pkg.ExpectedConditions.visibilityOfElementLocated(pkg.By.cssSelector(buttonLocator)));
// log desired boolean value to console, so I can confirm is as expected
WDS.log.info('reserveASpotButton:' + reserveASpotButton.isEnabled());
// add my boolean to JMeter vars, so I can access later from beanshell post-processor (where I do my assertions)
vars.put("reserveASpotButtonIsEnabled", reserveASpotButton.isEnabled());
上面的最后一行无效。
我可以成功使用CSS / JQuery Extractor将值添加到JMeter vars …
但是,如何在WebDriver Sampler中执行相同的操作?
问题答案:
您可以从WebDriver Sampler中访问JMeter API类,它已实现为JSR
223标准
,例如,您可以引用JMeter变量(也vars
称为如下)
在WebDriver采样器中:
var ctx = org.apache.jmeter.threads.JMeterContextService.getContext()
var vars = ctx.getVariables();
vars.put('foo','bar')
现在,您具有${foo}
的值为bar
有关更多WDS采样器的技巧和窍门,请参阅《
WebDriver采样器:您的十大问题已回答》
指南。