Я только начала работать с Webdriver, делаю задание на тестирование Яндекс.Диск. В задании нужно было создать текстовый файл, вставить к него текст, а затем сохранить изменения и проверить правильно ли все сохранилось. Я открываю файл, а затем никак не могу подобраться к его тексту.
Я ищу по xpath //div[@class=‘Outline’]//span//span. Но я и много чего другого перепробовала.
Выдает ошибку TimeoutException: Expected condition failed: waiting for presence of element located by: By.xpath://div[@class=‘Outline’]//span//span Хотя на странице все находит. Я в конце не закрывала браузер и проверила страницу в самом тесте, так тоже находит.
Код
public void getTextFromFile(String nameOfFile) {
new WebDriverWait(driver, 20)
.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//span[text()='" + nameOfFile + ".docx']")));
Set<String> oldWindowsSet = driver.getWindowHandles();
Actions builder = new Actions(driver);
builder.moveToElement(driver.findElement(By.xpath("//span[text()='" + nameOfFile + ".docx']")))
.doubleClick().build().perform();
String newWindow = (new WebDriverWait(driver, 10))
.until(new ExpectedCondition<String>() {
public String apply(WebDriver driver) {
Set<String> newWindowsSet = driver.getWindowHandles();
newWindowsSet.removeAll(oldWindowsSet);
return newWindowsSet.size() > 0 ?
newWindowsSet.iterator().next() : null;
}
}
);
driver.switchTo().window(newWindow);
new WebDriverWait(driver, 20)
.until(ExpectedConditions.presenceOfAllElementsLocatedBy(FRAME));
driver.switchTo().frame(0);
new WebDriverWait(driver, 20)
.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[@class='Outline']//span//span")));