WDS如何使用其他采样器的变量?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WDS如何使用其他采样器的变量?相关的知识,希望对你有一定的参考价值。
我有Sampler,我切换到子窗口,但我需要保存主窗口的句柄,以便能够在另一个示例中切换到它:请参阅截图
我怎样才能在下一个采样器中调用它?
WDS.browser.switchTo()。defaultContent()导致错误:
ERROR c.g.j.p.w.s.WebDriverSampler: no such window: window was already closed
示例A代码:
WDS.sampleResult.sampleStart()
var handles = WDS.browser.getWindowHandles()
var mainWindow = WDS.browser.getWindowHandle()
while (handles.size()!=2){
handles = WDS.browser.getWindowHandles()
WDS.log.info(handles.size())
}
var iterator = handles.iterator()
var counter = 1;
while (iterator.hasNext())
{
var handle = iterator.next()
WDS.browser.switchTo().window(handle)
WDS.log.info('Window ' + counter + ' title = ' + WDS.browser.getTitle())
counter++;
}
WDS.sampleResult.sampleEnd()
样本B代码:
WDS.sampleResult.sampleStart()
var timeunit = java.util.concurrent.TimeUnit
WDS.browser.manage().timeouts().pageLoadTimeout(30, timeunit.SECONDS)
var pkg = JavaImporter(org.openqa.selenium, org.openqa.selenium.support.ui)
var timeunit = java.util.concurrent.TimeUnit
var wait = new pkg.WebDriverWait(WDS.browser, 3000)
var ssn = ("078-05-"+WDS.args[0])
//WDS.browser.switchTo().defaultContent()
WDS.browser.switchTo().window(variable mainWindow from SwitchToWorkFlowWindow sampler)
WDS.sampleResult.sampleEnd()
答案
有WDS.vars
简写,它基本上是JMeterVariables类的一个实例,因此您可以使用它将数据从一个采样器传递到另一个采样器,如:
- 在第一个采样器:
var foo = 'bar' WDS.vars.put('foo', foo)
- 在第二个采样器:
var foo = WDS.vars.get('foo') WDS.log.info('Foo value is: ' + foo)
您可以在:The WebDriver Sampler: Your Top 10 Questions Answered指南中找到有关WebDriver采样器高级用法的更多信息
以上是关于WDS如何使用其他采样器的变量?的主要内容,如果未能解决你的问题,请参考以下文章