jmeter WebDriverWait在Java脚本中不起作用,它是如何使用的?

r7knjye2  于 2022-11-09  发布在  Java
关注(0)|答案(1)|浏览(183)

我用的是JMeter。试着用JavaScript自动化一个站点。

WDS.sampleResult.sampleStart()
var support_ui = JavaImporter(org.openqa.selenium.support.ui.WebDriverWait)
var wait = new support_ui.WebDriverWait(WDS.browser, 5000)
WDS.browser.get('http://mobile.yellow.com.au')
WDS.sampleResult.sampleEnd()

执行时出现以下错误。它是如何解决的?也请让我知道如何使用隐式/显式等待来定位所有元素,而不是thows org.openqa.selenium.NoSuchElementException。
错误--〉javax.script.ScriptException: TypeError: Can not create new object with constructor org.openqa.selenium.support.ui.WebDriverWait with the passed arguments; they do not match any of its method signatures. in <eval> at line number 3
(版本信息:版本:“3.14.0”,修订版:'aaccccce 0',时间:'2018年8月2日20:19:58.91Z')

aelbi1ox

aelbi1ox1#

下面是The WebDriver Sampler: Your Top 10 Questions Answered文章中的一个工作示例:

var pkg = JavaImporter(org.openqa.selenium)
var support_ui = JavaImporter(org.openqa.selenium.support.ui.WebDriverWait)
var conditions = org.openqa.selenium.support.ui.ExpectedConditions
var wait=new support_ui.WebDriverWait(WDS.browser, 5000)

WDS.sampleResult.sampleStart()
WDS.browser.get('http://example.com')
wait.until(conditions.presenceOfElementLocated(pkg.By.linkText('More finformation...')))
var element=WDS.browser.findElement(pkg.By.linkText("More information..."))
element.click()
WDS.sampleResult.sampleEnd()

和官方文档
您的how implicit /explicit wait is used to locate all elements and not thows org.openqa.selenium.NoSuchElementException节没有任何意义,您应该使用显式等待来“等待”特定元素出现/消失/变为可单击/无论什么,或者只是使用隐式等待,这样WebDriver将在失败之前自动“等待”该元素指定的时间。
“所有元素”不是你可以用选择器得到的,你可以有一个定位器列表,并在页面上验证它们的存在,但不能更多。

相关问题