Перейти к содержимому

roman_vasin

Регистрация: 06 мая 2016
Offline Активность: 06 мая 2021 17:45
-----

Мои темы

Selenium WebDriver + JUnit. Не видит элементы, которые обнаруживает Se

30 мая 2017 - 15:56

Всем доброго времени суток! Перешел с Selenium IDE на WebDriver + JUnit и имею следующую проблему: локаторы, которые раньше видел Selenium IDE в упор не видит WebDriver. Например:

 

Команда из IDE

waitForVisible -> xpath=.//*[@id='listContainer']

Элемент обнаруживается.

 

Команда из JUnit:

1.Assert.assertTrue("Element isn't exist", !driver.findElements(By.xpath(".//*[@id='listContainer']")).isEmpty());

 

Ошибка: Element isn't exist

 

or

 

Если попытаться найти по id:

2.Assert.assertTrue(driver.findElement(By.id("listContainer")).isDisplayed());

 

Ошибка: NoSuchElementException: Unable to locate element...

 

Примечание:

Таймер стоит и элементы на странице прогружаются.

 

Полный код ниже:

 

public class Simpletest {
String baseUrl;
WebDriver driver;
@Before
public void testSetup() {
driver = new ChromeDriver();
baseUrl = "http://127.0.0.1:8000";
}

@After
public void testShutDown() {
driver.close();
}

@Test
public void shouldHaveTestAboutProfileSettings() {

driver.get(baseUrl + "/SIMULATOR/index.html");
wait(2);
// Assert.assertTrue("Element isn't exist", !driver.findElements(By.xpath(".//*[@id='listContainer']")).isEmpty());
Assert.assertTrue(driver.findElement(By.id("listContainer")).isDisplayed());

}

public void wait(int seconds) {
try {
Thread.sleep(seconds * 1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}

 

 

HTML:

 4zeOv.png

В идеале, мне нужно проверить наличие clickItem с id=0