我有一个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用于什么?