Как сделать аутентикацию на сайте на Java Selenium Webdriver?

Всем привет парни. Тренируюсь с селениумом.
Есть такая ссылка http://the-internet.herokuapp.com/
Переходишь на нее и жмешь Basic Auth и у тебя появляется окно куда надо ввести юзернейм и пасс.
Вот мне этот кейс не пройти.
Пробовал сделать так - не вышло.

private static WebDriver driver;
private String URL = "admin" + ":" + "admin"  +"@http://the-internet.herokuapp.com/";

    @Test
    public void Auth(){
        driver.get("http://the-internet.herokuapp.com/");
        driver.findElement(By.xpath("//*[@id=\"content\"]/ul/li[2]/a")).click();
        driver.get(URL);
    }

Попробуй так:

private String URL = "http://admin:admin@the-internet.herokuapp.com/";

и потом в тесте сразу:
driver.get(URL); 

так ничего не происходит, если я сразу get(URL) делаю.
По логике мне же надо нажать сначала на Basic Auth ссылку, а только потом ввести юзернейм и пасс :frowning:

selenide

 @BeforeClass
    public void setUp(){
        System.setProperty("webdriver.gecko.driver", "src/main/resources/geckodriver.exe");
        Configuration.browser = "firefox";
    }

    @Test
    public void login(){
        Selenide.open("http://the-internet.herokuapp.com/basic_auth","","admin","admin");
    }

На этом можно закончить

Спасибо вам уважаемый. Но я сейчас учу чисто селениум, без селенида. Можете подсказать код селениума? =)

По сути, там все так же как и логин через урл делается. У вас не получилось, потому что урл не правильный

Вот так заработает
String URL = “http://admin:admin@the-internet.herokuapp.com/basic_auth/”;

1 Like

Спасибо, сработало :slight_smile: