26
Май
2017

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

Всем доброго времени суток! Перешел с 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: HTML

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

Источник: https://ru.stackoverflow.com/questions/671258/selenium-webdriver-junit-%D0%9D%D0%B5-%D0%B2%D0%B8%D0%B4%D0%B8%D1%82-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D1%8B-%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D0%B5-%D0%BE%D0%B1%D0%BD%D0%B0%D1%80%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%B5%D1%82-selenium-ide

Share

Тебе может это понравится...