具有Junit-Timeout异常的Selenium Web驱动程序,Element not present错误

时间:2013-09-20 09:00:29

标签: selenium junit selenium-webdriver

我的代码:

public void testUntitled() throws Exception {
    driver.get(baseUrl + "/");
    driver.findElement(By.id("user")).clear();
    driver.findElement(By.id("user")).sendKeys("XXX");
    driver.findElement(By.id("password")).clear();
    driver.findElement(By.id("password")).sendKeys("YYY");
    driver.findElement(By.name("submit")).click();
    driver.manage().timeouts().pageLoadTimeout(5,TimeUnit.SECONDS);
    //for (int second = 0;; second++) {
        //if (second >= 3) fail("timeout");
        //try { if (isElementPresent(By.id("dhx_combo_input"))) break; } catch (Exception e) {}
        //driver.manage().timeouts().implicitlyWait(5,TimeUnit.SECONDS);
    // }
    WebElement myDynamicElement = (new WebDriverWait(driver, 10)).until(ExpectedConditions.presenceOfElementLocated(By.id("dhx_combo_input")));
    myDynamicElement.click();
    driver.findElement(By.id("dhx_combo_input")).sendKeys("12345");
    driver.findElement(By.id("btn_forward")).click();
}

问题:检查元素存在时出现超时错误

我尝试使用隐式,显式命令等,但它不起作用..... 问题是在新加载的页面中找到一个新元素(组合框输入)。我已经给了一些超时来检查元素是否存在但它失败了。

如果我使用从selenium IDE生成的相同代码(Junit Webdriver转换)也失败

当我尝试点击新加载页面中的链接而不是组合框时,它会运行... 但链接位于页面顶部,组合框位于页面中间....

不确定是什么问题,有人可以帮我解决这个问题吗

0 个答案:

没有答案