// 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向JMeter vars添加值.
但是我如何在WebDriver采样器内部做同样的工作呢?
发布于 2015-04-07 11:00:13
您可以从JMeter示例程序中访问WebDriver 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采样器:您的十大问题答案指南。
发布于 2013-11-09 16:36:25
我认为您需要先将其转换为String,因为根据用JMeter的WebDriver采样器指南使用Selenium,JMeter变量基本上是String,所以不能将布尔值放在那里。
只需替换
vars.put("reserveASpotButtonIsEnabled", reserveASpotButton.isEnabled());使用
vars.put("reserveASpotButtonIsEnabled", reserveASpotButton.isEnabled().toString());而且它应该能工作。
发布于 2014-03-04 09:56:36
它不能工作,因为在WebDriver采样器中没有定义“vars”,比如在BeanShell采样器中。
https://stackoverflow.com/questions/19817398
复制相似问题