如何将Selenium中默认的30秒等待设置扩展为等待成功



我有一个JMeter Webdriver脚本,它在所有场景步骤中都能正常工作。但是,如果在脚本制作页面更改后响应缓慢,有时会发生以下错误:

Response code:500
Response message:javax.script.ScriptException: javax.script.ScriptException: org.openqa.selenium.TimeoutException: Expected condition failed: waiting for element to be clickable: By.xpath: //<some_xpath>] (tried for 30 second(s) with 500 milliseconds interval)

这个问题与selenium设置有关,在页面上工作缓慢的功能(有时页面更改需要比30秒更多的时间)的情况下,仅等待30秒。

如果Selenium脚本的步骤有时需要>30秒(由于可能的缓慢响应),如何可能关闭默认的30秒限制并等待直到成功?我不需要在30秒后看到错误,我需要等待,直到它进入脚本的下一步-无论需要多长时间。所以,我不想有任何限制,以防止场景在中间中断,我准备等待,无论它需要什么。

我没有给自己设定任何限制:

driver = vars.getObject("driver");
wait = vars.getObject("wait"); 

你能建议一下,关闭这个30秒默认限制的最好方法是什么?

看一下WebDriver。超时

使用例子:

driver.manage().timeouts().implicitlyWait(java.time.Duration.of(5, java.time.temporal.ChronoUnit.MINUTES))

或者你可以使用WebDriver Waits

JMeter中关于Groovy脚本的更多信息:Apache Groovy: Groovy用于什么?

最新更新