Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

[Chrome 59] login:password@host basic authentication handle больше не поддерживается

auth
ntlm
chrome
webdriver
Теги: #<Tag:0x00007fedc7b3b318> #<Tag:0x00007fedc7b3b1d8> #<Tag:0x00007fedc7b3b098> #<Tag:0x00007fedc7b3af58>

(Alexander) #1

Хром обновился до 59 версии и все тесты в нерабочем состоянии. Авторизация через URL больше не поддерживается. Какое-то время можно жить на 58 версии, но не бесконечно. Посоветуйте другой способ авторизации.

[Deprecation] Subresource requests whose URLs contain embedded credentials (e.g. https://user:pass@host/) are blocked. See https://www.chromestatus.com/feature/5669008342777856 for more details.

Drop support for embedded credentials in subresource requests.
We should block requests for subresources that contain embedded credentials (e.g. “http://ima_user:hunter2@example.com/yay.tiff”). Such resources would be handled as network errors.


(Yaroslav Pernerovskyy) #2


https://www.softensity.com/browsermob-proxy-qa/


(Alexander) #3

Спасибо, тоже о таком варианте подумал, только c# адаптированный browsermob-proxy, к сожалению, умеет значительно меньше чем оригинальный джава. Или я просто пока не нашел как его заставить работать идентичным описанному в мануале образом.


(Oleksandr Khotemskyi) #4

Спасибо за новость. Неудобно конечно, но эта штука использовалась только в фишинге судя по обсужению фичи в хром треккере. Погуглил немного как бы обойти это, вариантов не очень много.

  1. флаг на старте хрома --disable-blink-features=BlockCredentialedSubresources (https://bugs.chromium.org/p/chromium/issues/detail?id=731618#c9)

  2. https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/lx-U_JR2BF0 - тут люди еще предлагают использовать куки.

Кидайте ваши варианты


(Alexander) #5

Для C# есть такой вариант (UPD который не работает):

WebDriverWait wait = new WebDriverWait(Driver, TimeSpan.FromMilliseconds(5000));
IAlert alert = wait.Until(ExpectedConditions.AlertIsPresent());
alert.SetAuthenticationCredentials(userName, userPassword);

Но мне он не подошел, потому-что попапа с полями для ввода логина и пароля, после запуска страницы, я не вижу - у меня на проекте WindowsAuthentication и оно просто подтягивает имя актуального аккаунта, под которым система работает - то есть мой личный, а мне нужно чтобы тянул какой-то конкретный из набора тестовых аккаунтов. Ищу дальше.


(Alexander) #6

Еще интересный вариант, в IE Internet Options (афектит прочие браузеры) можно выбрать либо автоматическую авторизацию с заданными креденшлами либо всегда требовать креденшлы, если вам нужно каждый раз другой аккаунт использовать. Я еще не тестил, но выглядит полезно:


(Bolatbek) #7

Ох как нехорошо


(Sergey Pirogov) #8

Все! Теперь всему прийдет звезда =)


(Баранов Иван) #9

Есть еще вариант с самописным расширением для хрома, которое помогло в моем случае. Но оно явно хуже варианта 1 из первого ответа (–disable-blink-features=BlockCredentialedSubresources).


(Alexander) #10

С 61 версии данная пролема при работе с Хромом отсутствует.


(Артем Борсук) #11

Хром 62, драйвер 2.33. Сейчас оно не работает для хедлесс режима, может кто-то сталкивался с этим?