t.me/atinfo_chat Telegram группа по автоматизации тестирования

REST Assured и Windows authentication. Как реализовать?

Теги: #<Tag:0x00007fd767a749a0> #<Tag:0x00007fd767a74658> #<Tag:0x00007fd767a74568> #<Tag:0x00007fd767a743d8> #<Tag:0x00007fd76801fee0> #<Tag:0x00007fd76801fda0>

Добрый день. Есть идея написать тесты для #api . В качестве инструментов выбраны #java (так как на ней написаны UI тесты и кое-что для БД) и #rest-assured .

Доступ к приложению происходит через windows authentication, и насколько я понял в rest-assured не реализована данная схема аутентификации. В гугле нашел только один пример конкретно на эту тему, на Stack Overflow, и он честно говоря не очень обрадовал.

Буду благодарен за любые советы.

1 Симпатия

Что конкретно подразумевается под этим, можно пример, как это выглядит?

Корпоративное приложение. Для авторизации используется учетная запись Windows.

Если это какой то корпоративный Single Sign On то наверное придётся городить свою авторизацию.
Надо изучать как физически эта авторизация работает и эмулировать.

В своё время был опыт с Single Sign On через смарт карту.
Там пришлось сначала достать сертификаты пользователя (.pem, .pfx файлы)
Потом загрузить эти сертификаты в профиль FireFox
FireFox шёл на ссылку странички Single Sign On, получал токен который я сохранял и использовал в хидерах моих REST запросов чтобы выглядеть залогиненым юзером.

Можно наверное без FireFox но тогда бы мне пришлось обрабатывать кучку редиректов на web странички с JavaScript, что наверное очень весело =)

Вот такой вот опыт.

1 Симпатия

Пока-что нашел реализацию на Python:
requests, requests-ntlm, ntlm-auth. Все очень просто, сегодня уже гонял запросы, читал JSON-ы.
Сделать микросервис на Python и из тестов на Java дергать из него данные, которые он будет получать по api из приложения, адекватная идея? Просто у нас еще Rabbit есть, и там пока тоже Python выглядит оптимальнее, для вычитки очередей.

1 Симпатия

Метод авторизации
RestAssured.authentication = ntlm(“Login”,“Pass”, null,“domain”)