У меня проблема с тестом селена с использованием Java. Я хочу загрузить фотографию профиля, но обнаружил ошибки. Поначалу все работает хорошо, фотография загружается, но не отображается на экране, а кнопка проверки не нажимается, зная, что все пути на 100% верны. Я попробовал несколько решений, таких как принудительное нажатие, проверка того, что кнопка больше не деактивирована, я увеличил неявное время, но все равно это не работает. Вот ответ, который я получаю, когда запускаю свой код:
Файл отправлен: C:\Users\KATANA\Desktop
Изображение загружено правильно: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAIAAAAUAAarVyFEAAAAASUVORK5CYII=
org.openqa.selenium.TimeoutException: ожидаемое условие не выполнено: ожидание Whattzhub.account.UpdatePage$$Lambda/0x000001b40122a6f8@5a62b2a4 (пробовано в течение 10 секунд с интервалом 500 миллисекунд)
Надеюсь, вы поможете мне решить эту проблему, и большое вам спасибо заранее.
public void changeProfilePicture(String imagePath) {
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
By modifyButton = By.xpath("//button[@class='p-element p-button-outlined p-button-secondary ml-auto mr-auto mt-3 mb-3 p-button p-component']");
WebElement modifyButtonElement = wait.until(ExpectedConditions.elementToBeClickable(modifyButton));
modifyButtonElement.click();
By pictureDownload = By.xpath("//div[@class='modal-content']//span[@class='input-browse']");
WebElement pictureDownloadElement = wait.until(ExpectedConditions.visibilityOfElementLocated(pictureDownload));
pictureDownloadElement.click();
By modalContent = By.xpath("//div[@class='modal-content']");
WebElement modalElement = wait.until(ExpectedConditions.visibilityOfElementLocated(modalContent));
delay(1000);
By fileInput = By.id("file-upload");
WebElement fileInputElement = wait.until(ExpectedConditions.presenceOfElementLocated(fileInput));
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].style.display='block'; arguments[0].style.opacity='1';", fileInputElement);
fileInputElement.sendKeys(imagePath);
System.out.println("File sent : " + imagePath);
By imageElement = By.xpath("//img[contains(@class, 'source-image')]");
wait.until(ExpectedConditions.presenceOfElementLocated(imageElement));
WebElement image = driver.findElement(imageElement);
js.executeScript("arguments[0].style.visibility='visible';", image);
wait.until(driver -> {
String visibility = image.getCssValue("visibility");
return visibility.equals("visible");
});
// Validez l'attribut src
String srcValue = image.getAttribute("src");
if (srcValue.startsWith("data:image/png;base64,")) {
System.out.println("Image loaded correctly: " + srcValue);
} else {
System.out.println("Image not loaded or invalid src.");
}
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... ng-for-wat
Org.openqa.selenium.TimeoutException: ожидаемое условие не выполнено: ожидание Whattzhub.account.UpdatePage$$Lambda ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение