Я пытаюсь использовать Java и Selenium для тестирования веб-сайта, требующего сертификата клиента. Когда я просматриваю свой сайт, я получаю всплывающее окно, как показано ниже, чтобы выбрать правильный сертификат.
Мои требования следующие:
- Выберите сертификат по имени
- В разных версиях Windows/IE/Edge
В идеале всплывающее окно никогда не отображается; то есть решение будет включать вызов некоторого API или установку некоторой конфигурации, чтобы вывести соответствующий сертификат для использования.
Мое собственное решение:
-
Я попробовал решение, основанное на визуальном обнаружении правильного сертификата, используя SikuliX (что работает), но мне интересно если есть лучшее решение, которое не зависит от визуального обнаружения всплывающего окна. Что-то, что с меньшей вероятностью потерпит неудачу в нескольких версиях Windows, и это будет будущим доказательством, если Microsoft решит изменить внешний вид этого всплывающего окна.
-
Другая идея, которая у меня была (но я не знаю, как это сделать), - это удалить все установленные сертификаты, кроме одного, чтобы всплывающее окно никогда не отображалось:
- Резервное копирование всего хранилища
- Удалите все клиентские сертификаты, которые может использовать IE (кроме тех, которые мне нужны)
- Введите логин, который больше не требует выбора сертификата
- Восстановить резервное хранилище
Кто-нибудь знает, как это сделать (в Java, возможно, вызывая команды CLI)?
-
Можно ли запустить (используя Selenium Java) окно Internet Explorer, которое знает только тот единственный сертификат, который мне нужен?
-
Возможно ли в Internet Explorer установить сертификат по умолчанию для данного домена?