Автоматизация SSL-сертификатов на стороне клиента в Firefox и Selenium testing
можно ли протестировать SSL-сертификаты на стороне клиента с помощью Selenium и любого браузера? Например. Можете ли вы создать веб-драйвер и дать для него фиктивные сертификаты? Или использовать подготовленный профиль Firefox?
2 ответов
создание тестового профиля Selenium Firefox для SSL-сертификатов на стороне клиента
вам нужно подготовить профиль WebDriver Firefox Selenium, в который импортированы сертификаты клиентов.
сначала вы запускаете WebDriver со следующей конфигурацией в тестовом коде:
# Pre-seeded Firefox profile directory
profile_directory = os.path.join(os.path.dirname(__file__), "..", "..", "certs", "firefox-client-ssl-profile")
self.assertTrue(os.path.exists(profile_directory))
profile = FirefoxProfile(profile_directory)
# Make sure the client side certificate selection does not interrupt the test
# XXX: What happens in other language versions?
profile.set_preference("security.default_personal_cert", "Select Automatically")
self.driver = WebDriver(firefox_profile=profile)
self.selenium_helper = SeleniumHelper(self, self.driver)
self.selenium_helper.driver = self.driver
запустите модульные тесты и доведите их до точки Zope test server. Остановите тесты с помощью " import pdb ; pdb.set_trace()"
теперь у вас должен быть Экземпляр Firefox "WebDriver" Selenium на вашем экране.
импортируйте сертификат на стороне клиента. Настройки > Дополнительно > шифрование > Просмотр сертификатов. Импорт " клиент.p12 " от поставки сертификата на стороне клиента.
посетите URL-адрес, вызывающий диалоговое окно сертификата на стороне клиента в Firefox Webdriver::
https://yourservevr/triggers-client-side-certificate-ssl-handshake
Это должно побудить вас принять сертификат клиента на тестовом сервере. Примите все вручную.
визит в меню Справка > сведения об устранении неполадок > основы приложения > показать в Finder. Откроется временный каталог с файлами активного профиля Webdriver.
копировать файлы профиля Firefox cert8.db
и key3.db
в тестовый пакет блок
Начальная папка профиля Firefox WebDriver. Это папка, где селен выбирает семена для
Веб-драйвер Firefox при запуске теста firefox-client-ssl-profile
.
прервать тесты. Перезапустите тесты. Бегите до паузы снова. В WebDriver в это Браузер firefox см. в настройках, которые теперь содержат сертификаты, утвержденные при последнем запуске в меню Настройки > Дополнительно > шифрование > Просмотр сертификатов.
больше
Я не знаю, помогает ли это, но вы можете изменить некоторые настройки в профиле. На Java вы можете это сделать.
ProfilesIni allProfiles = new ProfilesIni();
FirefoxProfile profile = allProfiles.getProfile("default"); //change profile name. there is a note somewhere on how to change it
profile.setPreference(uaKey, uaValue);
profile.setAcceptUntrustedCertificates(acceptUntrustedSsl);
Я не уверен, что это то, что вам нужно.