我有一个基于Selenium WebDriver的测试用例,在执行期间会暂停。它应该将数千个文件上传到网站。当选择要上传的文件时,有时不会单击“确定”,而是等待手动交互。在大多数情况下,它运行良好。
我使用StringSelection复制文件源并将其粘贴到输入字段。

StringSelection cp = new StringSelection(fileSource);
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(cp, null);

最佳答案

我认为您的测试可能会很快进行?如果是这种情况,那么您可能会使用WebDriverWait? WebDriverWait可用于等待单击“确定”元素,然后单击继续操作。

我可能是错的,但是如果没有其余代码,我无法真正分辨出问题所在。

我个人使用以下方法,然后可以调用

public void waitForElementToBeVisible(String cssSelector) throws Throwable {
    try {
        WebDriverWait wait = new WebDriverWait(driver, 30);
        wait.until(ExpectedConditions.or(
                ExpectedConditions.visibilityOfElementLocated(By.cssSelector(cssSelector))
        ));
    } catch (Exception e) {
        System.out.println("Timeout exceeded");
        closeDriver();
    }
}

关于java - Webdriver测试意外暂停,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45816379/

10-10 17:30