是否存在等待过程完成5分钟的方法

问题描述 投票:0回答:2

我正在使用selenium Java自动化,一个名为'preview'的动作将提交一个提取(财务数据)流程,它将进入一个名为'previewing'的阶段。通常需要2-5分钟的时间来完成“预览”过程,并且阶段会变为“草稿”。

根据这个答案显式等待是一种方法。 Wait for 5 min for an element to appear or a process to complete

有更好的方法吗? Serenity是否提供超过Selenium的任何东西?

selenium serenity-bdd
2个回答
2
投票

您可以使用显式等待1分钟并在while循环中使用它。对于例如

WebElement element = driver.findElement(By(Identifier for DRAFT Status));
WebDriverWait wait = new WebDriverWait(driver, 60);
while (element == null) {
    element = wait.until(ExpectedConditions.elementToBeClickable(By(Identifier for DRAFT Status)); 
}

0
投票

在经典的Serenity页面对象中:

withTimeoutOf(Duration.ofMinutes(5)).waitFor(DRAFT_STATUS_ELEMENT);

在剧本中:

WaitUntil.the(DRAFT_STATUS_ELEMENT, isVisible()).forNoMoreThan(300).seconds())
© www.soinside.com 2019 - 2024. All rights reserved.