2
// 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 変数に値を追加できます...

しかし、WebDriver Sampler 内から同じことを行うにはどうすればよいでしょうか?

4

4 に答える 4

1

Using Selenium with JMeter's WebDriver Sampler guide JMeter 変数は基本的に文字列であり、ブール値をそこに置くことはできないため、最初に文字列にキャストする必要があると思います。

交換するだけ

vars.put("reserveASpotButtonIsEnabled", reserveASpotButton.isEnabled());

vars.put("reserveASpotButtonIsEnabled", reserveASpotButton.isEnabled().toString());

そして、それはうまくいくはずです。

于 2013-11-09T16:36:25.957 に答える
1

たとえば BeanShell Sampler のように WebDriver Sampler で 'vars' が定義されていないため、機能しません。

于 2014-03-04T09:56:36.537 に答える
0

これを行うきれいな方法はありませんが、可能です。WebDriver サンプラーで応答ヘッダーを設定できます。

WDS.sampleResult.setResponseHeaders(reserveASpotButton.isEnabled())

次に、正規表現エクストラクタを使用して、応答ヘッダーからデータを取得できます。

于 2015-03-26T18:27:55.177 に答える