Проблема (Вопрос) заключается в том, что я открываю сайт, на котором кликаю по линке и попадаю на страницу с всплывающим алертом, далее пытаюсь на него переключиться, но появляется ошибка, что алерта нет:
org.openqa.selenium.TimeoutException: Expected condition failed: waiting for alert to be present (tried for 20 second(s) with 500 milliseconds interval)
Мой код:
import io.github.bonigarcia.wdm.WebDriverManager;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import java.time.Duration;
public class AuthTemp {
protected static WebDriver driver;
private Logger logger = LogManager.getLogger(sampleTest.class);
public Alert alert;
@BeforeEach
public void setUp() {
WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();
logger.info("Driver is initialized");
}
@Test
public void successAuthTest() {
driver.get("https://the-internet.herokuapp.com/");
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(20));
WebElement link = driver.findElement(By.xpath("//a[@href='/basic_auth']"));
link.click();
wait.until(ExpectedConditions.alertIsPresent());
alert = driver.switchTo().alert();
alert.sendKeys("admin");
alert.sendKeys(String.valueOf(Keys.TAB));
alert.sendKeys("admin"+ Keys.ENTER);
alert.accept();
}
}
У меня получилось только таким методом:
@Test
public void successAuthTest1() {
driver.get(“https://”+“admin”+“:”+“admin”+“@”+“the-internet.herokuapp.com/basic_auth”);
}
Но у меня стоит задача именно перейти с главной страницы на страницу с алертом.