Przetestuj dynamicznie ładowaną zawartość za pomocą Selenium Web Driver
Pracuję nad systemem, który ma interfejs internetowy, który testuję z Selenium. Na jednej stronie zawartość jest dynamicznie ładowana podczas przewijania w dół (być może wiesz o tym na liście znajomych Facebooka), ponieważ jest to jedno z wymagań.
Przewijanie w dół za pomocą Selenium Webdriver (używam Chrome) nie powinno być problemem dzięki Javascript. Ale jest problem z dynamicznie dodawaną treścią. Jak mogę sprawić, by Webdriver znalazł te elementy?
Próbowałem wykonać poniższe czynności, aby przewinąć w dół, dopóki nie załaduje się więcej treści:
int oldSize = 0;
int newSize = 0;
do {
driver.executeScript("window.scrollTo(0,document.body.scrollHeight)");
newSize = driver.findElementsBy(By.cssSelector("selector").size();
} while(newSize > oldSize);
Ale mimo że strona przewija się w dół po raz pierwszy i niektóre treści są ładowane poprawnie, nie zostaną znalezione przez funkcję findElementsBy (By) sterowników.
Czy ktoś kiedykolwiek zmierzył się z tym problemem? Byłbym bardzo zadowolony, gdyby ktoś mógł mi pomóc w znalezieniu rozwiązania tego problemu!
Pozdrawiam, Benjamin