Как получить http-ревесты и респонсы между браузером и тестируемым сайтом?

Мне от сайта приходит токен авторизации одной строкой в теле http-респонса. Могу ли я его как-то получить силами веб-драйвера, или мне надо городить прокси сервер и искать токен посреди всех http-запросов?

HTTP-vs-HTTPS

Не знаю то же самое, что и у меня, но я мог достать из кукисов похожий токен в своей аппликации. Он там появлялся после авторизации. А куки я доставал из Драйвера, у него есть метод, позволяющий вытаскивать их.

По-моему puppeteer так умеет.

WebDriver может сохранить кукис, а потом подгружать их с последующими запросами

на лету надо

в браузер приходит респонс, и мне надо из него строку вытащить

Без прокси сервера не обойтись, вебдрайвер не умеет перехватывать сетевой трафик браузера.
Рекомендую к ознакомлению:

ну я так и думал

Можно, если ваша страница, например логина, уже загружена и запросы отправляються через ajax. Я уже писал здесь:

Если тестируете Джавой на Хроме то можно и без прокси: http://chromedriver.chromium.org/logging/performance-log

1 лайк

Есть несколько вариантов:

  1. browser mob proxy
  2. Performance logs, но обычно авторизация идёт через post, поэтому вариант не подойдёт, так при post response body не прочитать. Но так как токен авторизации есть в hesders, то можно достать оттуда
  3. Puppeteer
  4. Cypress
  5. Получить куку
1 лайк

Если еще актуально.
WebDriver нормально работает с Cookie.
По вашему вопросу - Selenium. Get Cookies and decode JWT tokens in Java | Lenar.io
Должно помочь. Правда на английском

1 лайк

А для нативного мобайла (не браузер) Android\iOS кто-то решал подобные задачи? Сколько не гуглил, но так и не нашел инфы что кто-то смог Browsermob с Аппиумом подружить

Всем привет. Скажу свою точку зрения после всего сказанного, возможно она все упростит…

  1. На счет BrowserMobProxy - давно и немного устаревший способ перехвата… Используется больше в очень узких целях для перфоманса… Думаю сейчас на много больше более годных инструментов… Во первых его трудно подключать, скорость падает и прочие минусы + логи, которые перехватываются, нужно как-то парсить, поэтому это вообще не вариант…
  2. На счет вебрайвера, и его возможностей, - если токен не пробрасывается в кукисах, то другого варианта нет… Смотреть в логи вебрайвера сервера и какие там запросы идут - тоже пустая трата времени…
  3. Единственный самый годный способ - подключить restassure, или okhttp, или retrofit или любую другую библиотеку для тестирования rest api, слать запрос и разбирать ответ, потом в селениуме при старте сессии что нужно пробрасывать -кукисы, Id сессии и что угодно

у меня все решилось административно:
фронтендерам спустили сверху задачу помочь мне в тестах, потому прокси не надо, корректируем поведение фронта скриптами

Слишком сложно. Я бы делал запрос через какую то библиотеку для работы c HTTP.

3 лайка