До недавнего времени я мог получить доступ к нашему сервису (который требует аутентификации Google) без каких-либо проблем.
Если бы я ранее входил в сервис вручную с помощью Google Chrome на своем компьютере, то при запуске тестов Selenium приложение бы открываться напрямую, без повторного запроса входа в систему Google.
Позже такое поведение стало нестабильным. Чтобы это исправить, я настроил Selenium для запуска Chrome с использованием определенного профиля пользователя Chrome, чтобы сеанс уже был аутентифицирован и вход в Google не требовался во время выполнения теста.
Вот упрощенная версия кода установки:
Код: Выделить всё
[TestInitialize]
public void Startup()
{
var options = new ChromeOptions();
options.AddArgument(@"user-data-dir=C:\Path\To\Chrome\User Data");
options.AddArgument("profile-directory=ProfileName");
_driver = new ChromeDriver(options);
}
Недавно этот подход полностью перестал работать.
Даже если:
- Использовать правильный профиль пользователя Chrome
- Убедиться, что профиль уже зарегистрирован в Google
- Пробуем альтернативу конфигурации
Вопрос
Каков сейчас рекомендуемый способ обработки аутентификации Google в автоматизации на основе Selenium?
В частности:
- Существует ли надежный способ повторного использования аутентифицированных сеансов?
- Изменил ли Google свою политику безопасности в отношении автоматизированных браузеров?
- Должны ли мы перейти на механизм аутентификации на основе токенов вместо того, чтобы полагаться на профили браузера?
- Существует ли лучший архитектурный подход для обработки единого входа Google в автоматизированных тестах пользовательского интерфейса?
Подробнее здесь: https://stackoverflow.com/questions/798 ... arp-mstest
Мобильная версия