【问题标题】:JMeter Webdriver waittime issueJMeter Webdriver 等待时间问题
【发布时间】:2018-09-29 09:02:18
【问题描述】:

我有一个场景,我需要单击网页中的一个按钮,该按钮将执行一个过程。单击此按钮后,将出现“进行中”消息。我正在等待此消息从网页上消失,以便进行下一步操作。

这个过程需要 30 到 150 秒的时间,我无法控制。所以我在采样器中设置了 180 秒的等待时间。问题是该过程将在 30 秒内完成,而 webdriver 将等待 180 秒以完成下一个操作。在这种情况下,由于用户设置不活动,应用程序将注销。

如何处理这种情况?

【问题讨论】:

  • 对答案有任何反馈吗?如果可以,它应该被接受和投票,以便对社区有所帮助。谢谢

标签: jmeter webdriver webdriverwait


【解决方案1】:

您可以将 ExpectedConditions.presenceOfElementLocatedWebDriverWait 结合使用。

它会等待最多 150 秒,但如果元素在它不等待那么多之前可用:

 var wait = new pkg.WebDriverWait(WDS.browser, 150);
 wait.until(pkg.ExpectedConditions.presenceOfElementLocated(
         pkg.By.cssSelector('ul.suggestions')))

在此处查看完整的详细信息:

【讨论】:

    【解决方案2】:

    您可以使用 ExpectedConditions.invisibilityOfElementLocated(By) 函数,该函数可以通过 Explicit Wait 使用,因此 WebDriver 将轮询 DOM,直到元素消失,最长为 150 秒,默认轮询间隔为 500 毫秒,但 can be adjusted 根据需要.

    示例代码类似于:

    var wait = new WebDriverWait(WDS.browser, 150)
    wait.pollingEvery(1, java.util.concurrent.TimeUnit.SECONDS)
    org.openqa.selenium.support.ui.ExpectedConditions.invisibilityOfElementLocated(By.xpath("//*[contains(text('process in progress')]"))
    

    更多信息:The WebDriver Sampler: Your Top 10 Questions Answered

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-27
      • 1970-01-01
      • 2020-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多