org.openqa.selenium.ElementNotVisibleException: Element ist derzeit nicht sichtbar und kann daher nicht mit der Befehlsdauer oder dem Zeitlimit interagiert werden:

Mein Problem ist, dass Selen die Ausnahme so sichtbarer Elemente gibt. Ich verstehe das nicht, denn wenn ich meine Maschine einbaue, funktioniert das! (Die Tests bauen auf Bambus).

Dies ist eine Ausnahme:

org.openqa.selenium.ElementNotVisibleException: Element is not currently visible and so may not be interacted with Command duration or timeout: 30.06 seconds Build info: version: '2.44.0', revision: '76d78cf323ce037c5f92db6c1bba601c2ac43ad8', time: '2014-10-23 13:11:40' System info: host: 'N/A', ip: 'N/A', os.name: 'Linux', os.arch: 'amd64', os.version: '3.2.0-52-virtual', java.version: '1.7.0_72' Session ID: 1757208d-d49e-4792-b053-e55e7300c233 Driver info: org.openqa.selenium.firefox.FirefoxDriver Capabilities [{platform=LINUX, acceptSslCerts=true, javascriptEnabled=true, cssSelectorsEnabled=true, databaseEnabled=true, browserName=firefox, handlesAlerts=true, nativeEvents=false, webStorageEnabled=true, rotatable=false, locationContextEnabled=true, applicationCacheEnabled=true, takesScreenshot=true, version=34.0}]
org.openqa.selenium.ElementNotVisibleException: Element is not currently visible and so may not be interacted with
Command duration or timeout: 30.06 seconds

Code

String name;
String key;

@Before
public void setUp() throws InterruptedException {

    driver.findElement(By.id("menu_topMenu.maintenance")).click();
    Thread.sleep(1000);
    driver.findElement(By.id("menu_topMenu.route")).click();
}

@Test
public void test() throws InterruptedException {

    AddRoute addRoute = new AddRoute(driver);
    addRoute.add();
    name = addRoute.getName();
    key = addRoute.getKey();
    Thread.sleep(3000);
    driver.findElement(By.cssSelector
            ("#Route_btn_novo")).click();
    driver.findElement(By.cssSelector
            ("#Route_key > input[type=\"text\"]")).sendKeys(key);
    driver.findElement(By.cssSelector
            ("#Route_description > input[type=\"text\"]")).clear();
    driver.findElement(By.cssSelector
            ("#Route_description > input[type=\"text\"]")).sendKeys(name);
    driver.findElement(By.cssSelector
            ("#Route_organization > div.lookUpHitArea")).click();
    driver.findElement(By.cssSelector
            ("#MonetUIFieldsLookupGridContainer_organization > div.slick-pane.slick-pane-top.slick-pane-left > div.slick-viewport.slick-viewport-top.slick-viewport-left > div > div:nth-child(2) > div.slick-cell.l0.r0.cell-row")).click();
    driver.findElement(By.cssSelector
            ("#Route_plannedCost > input")).sendKeys("10000");
    driver.findElement(By.cssSelector
            ("#Route_origin > div.lookUpHitArea")).click();
    driver.findElement(By.cssSelector
            ("#MonetUIFieldsLookupGridContainer_location > div.slick-pane.slick-pane-top.slick-pane-left > div.slick-viewport.slick-viewport-top.slick-viewport-left > div > div:nth-child(1) > div.slick-cell.l1.r1.cell-row.selected")).click();
    driver.findElement(By.cssSelector
            ("#Route_lastStopIsDestination > input")).click();
    Thread.sleep(1000);
    driver.findElement(By.cssSelector
            ("#Route_btn_save_and_close")).click();
    Thread.sleep(3000);
    assertTrue("Rota existente nao validada corretamente",
            isDisplayedByCssSelector(driver, "#form_and_grid > div > div.monetInlineAlerContainer > div"));
}

}

Ich weiß nicht mehr was ich tun soll!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage