为什么我的点击事件不能在Selenium中运行?

时间:2018-03-10 08:18:50

标签: java selenium testing web junit

当触发clickevent时,我希望它在同一个标​​签中重定向/打开新页面。新标签将是' / Waiting'但是即使点击事件被触发,它也会保留在同一页面中。虽然通过访问浏览器的localhost手动完成,但它可以工作。此外,即使在10秒后,它也无法加载。

@Test
public void firstPlayerConnection() {
    try {
        driver.get(uiPath);
        WebElement startGame = driver.findElement(By.id("startGame"));
        startGame.click();
        WebElement gif = (new WebDriverWait(driver, 10))
                .until(ExpectedConditions.presenceOfElementLocated(By.id("loading")));
        assertEquals("/Waiting", driver.getCurrentUrl());

    } finally {
        driver.quit();
    }
}

2 个答案:

答案 0 :(得分:1)

如果我没弄错,则必须在startGame.Click()命令中使用NoSuchElement异常。要避免此异常,您必须(显式)等待此元素可单击。

WebElement startGame = (new WebDriverWait(driver, 10))
            .until(ExpectedConditions.elementToBeClickable(By.id("startGame")));

答案 1 :(得分:0)

明确提供等待,&如果它仍然不起作用,那么尝试使用submit()代替click()。