Авторизация с Selenium WebDriver через cookies

Необходимо реализовать авторизацию с Selenium WebDriver так что-бы не вводить логин и пароль каждый раз при запуске сайта с новой ролью. Для этого отправляю post-запрос и получаю HttpResponse в котором присутствуют и нужный PHPSESSID.

Подскажите как можно достать с HttpResponse этот PHPSESSID? и потом как применить полученные данные для авторизации (как подсунуть куки при авторизации)?

Для понимания:

  • Когда вручную подставляю полученный PHPSESSID - авторизация выполняется успешно;
  • При работе с jMeter для авторизации достаточно отправить POST-запрос с логином и паролем:

введите сюда описание изображения

    public HttpResponse getHttpResponse () throws IOException {
        driver.get("https://dev.storied.co/");
        HttpResponse response = Request.Post("https://dev.storied.co/auth/login")
                .bodyForm(Form.form().add("login",  "login").add("password",  "password").build())
                .execute().returnResponse();
        System.out.println("getHttpResponse:    " + response);
        return response;
    }

В ответе: введите сюда описание изображения


Ответы (1 шт):

Автор решения: Dima Kitsenko

Нашел ответ:

  • getHttpResponse перевести в строку и вытянуть PHPSESSID

  • Удалить PHPSESSID из существующих куки

  • Создать и добавить полученный PHPSESSID

       driver.manage().deleteCookieNamed("PHPSESSID");         
       driver.manage().addCookie(new Cookie("PHPSESSID", getPHPSESSID));
    
→ Ссылка