Selenium Testing HTTPs Trust Все сертификаты работают для FF, но не для IE - PullRequest
4 голосов
/ 26 августа 2010

Я много играл с функциональным тестированием с использованием Selenium RC.

У меня постоянно возникают проблемы, когда тест переходит на страницу входа в систему нашего сайта и переключается на HTTPS .

Я продолжаю изменять настройки, но каждый браузер выходит из строя.

Использование ** iehta * и ** chrome * в качестве моих браузеров и Доверять всем SSL-сертификатам & Убедитесь, что настройки чистого сеанса Я могу получить FF3 для входа на наш сайт, но IE выдает «Возникла проблема с сертификатом безопасности этого веб-сайта.» ошибка.( Я установил сертификат)

Почему не все сертификаты работают с IE?

Ответы [ 6 ]

6 голосов
/ 08 сентября 2010

Есть два шага.Одним из них является запуск сервера с параметром «-trustAllSSLCertificates», а другим - настройка браузера для использования сервера Selenium в качестве его прокси.* iexploreproxy и * firefoxproxy обрабатывают настройки прокси для вас.Selenium (начиная с 2.0a5) автоматически настроит * firefox для использования сервера Selenium в качестве прокси-сервера, если используется флаг «-trustAllSSLCertificates».* iexplore, использующий HTA, никогда не настраивается Selenium для использования прокси.Таким образом, вам нужно будет обработать это априори или через пользовательский модуль запуска.

Подробнее в следующей статье: http://nirvdrum.com/2010/04/13/how-to-accept-self-signed-ssl-certificates-in-selenium.html

1 голос
/ 28 марта 2013

Я не видел эту ошибку с последней версией Selenium RC, т.е. 2.31.0.И если вы используете:

RemoteControlConfiguration rc= new RemoteControlConfiguration();
    rc.trustAllSSLCertificates();
    SeleniumServer server;
    server=new SeleniumServer(rc);
1 голос
/ 08 сентября 2010

Мне удалось заставить это работать, установив -trustAllSSLCertificates и создав профиль по умолчанию в FireFox.

До сих пор я мог с радостью использовать любой браузер без страха появления недоверенных сертификатов.

стоит отметить, что браузеры, которые я рекомендую использовать селену, это просто * chrome и * iehta.

0 голосов
/ 14 апреля 2013

IE отображает ошибку сертификата как обычную HTML-страницу. Поскольку он делает это, вы можете найти элемент и выполнить .click () для него как временное решение. :) Вы можете просто создать вспомогательный класс cert для этого и просто выполнить cert.acceptCert (driver);

0 голосов
/ 27 марта 2013

Этот ответ не дает прямого ответа на вопрос " Почему не все сертификаты работают с IE? ", однако он предлагает ответ на вопрос, который, вероятно, вызвал вопрос, задаваемый здесь. то есть для любого, кто запускает Selenium в качестве службы Windows и обнаруживает, что он не доверяет своим самозаверяющим сертификатам.

Проблема

IE не доверяет корневому каталогу и выпускает сертификаты самозаверяющего органа и, следовательно, представляет страницу, запрашивающую пользователя решить, хочет ли он / она продолжать и доверять сайту. Это предотвращает прохождение любых тестов на селен.

Решение

Решение относительно простое и логичное по своей концепции, корневой и выдавший сертификаты должны быть установлены на компьютере как доверенные сертификаты.

Однако сложность заключается в том, чтобы заставить Windows Service, на которой работает Selenium RC, доверять сертификатам, если служба работает под системной учетной записью. Чтобы исправить это, необходимо выполнить следующие шаги.

  1. Установите корневой сертификат в качестве доверенного центра сертификации на уровне компьютера.
  2. Установить сертификат выдачи в качестве промежуточного центра сертификации на уровне компьютера

Добавление сертификатов в хранилище доверенных корневых центров сертификации для локального компьютера

Администраторы - это минимальное членство в группе, необходимое для выполнения этой процедуры.

Добавление сертификатов в хранилище доверенных корневых центров сертификации для локального компьютера

  1. Нажмите Пуск, нажмите Начать поиск, введите mmc и нажмите клавишу ВВОД.
  2. В меню Файл выберите Добавить / удалить оснастку.
  3. В разделе Доступные оснастки нажмите Сертификаты, а затем нажмите Добавить.
  4. В этой оснастке всегда будут управлять сертификатами, щелкните Учетная запись компьютера и нажмите кнопку Далее.
  5. Нажмите Локальный компьютер и нажмите Готово.
  6. Если у вас больше нет оснасток для добавления в консоль, нажмите ОК.
  7. В дереве консоли дважды щелкните Сертификаты.
  8. Щелкните правой кнопкой мыши хранилище доверенных корневых центров сертификации.
  9. Нажмите Импорт, чтобы импортировать сертификаты, и следуйте инструкциям мастера импорта сертификатов.

Добавление сертификатов в хранилище промежуточных центров сертификации для локального компьютера

  1. В дереве консоли дважды щелкните Сертификаты.
  2. Щелкните правой кнопкой мыши магазин промежуточных центров сертификации.
  3. Нажмите Импорт, чтобы импортировать сертификаты, и следуйте инструкциям мастера импорта сертификатов.
0 голосов
/ 03 сентября 2010

По какой-то случайной причине IE теперь выглядит нормально, поэтому я придерживаюсь конфигурации как есть и пытаюсь разобраться с проблемами FF.

...