Может ли Selenium IDE эффективно справляться с оповещениями браузера? - PullRequest
1 голос
/ 17 июля 2011

Привет! В настоящее время я пишу тестовый скрипт для сайта электронной коммерции с использованием Seleneium IDE, это среда тестирования в HTTP. У меня возникла проблема с тестовым платежным шлюзом 3D Secure в HTTPS, поэтому при использовании FireFox браузер отображает предупреждение о безопасности при возвращении из платежного шлюза 3D Secure HTTPS в среду тестирования сайта.

'Хотя эта страница зашифрована, введенная вами информация должна быть отправлена ​​через незашифрованное соединение и может быть легко прочитана третьей стороной.

Вы уверены, что хотите продолжить отправку этой информации? '

Я пробовал различные команды в среде IDE для waitForAlert * и asertAlert *, но это предупреждение javascript, похоже, перекрывает любую из команд, которые я использую, и по существу останавливает сценарий, пока не будет использовано ручное вмешательство.

Я не могу отключить это конкретное предупреждение в FF, исходя из того, что я могу подтвердить на различных форумах, так как его слишком важно отключить, я пытался в FF по поводу: config

Я могу безоговорочно отключить 3D-защиту, чтобы разрешить запуск сценария, но я бы предпочел, чтобы тестировался полный пользовательский сценарий, а не тест, адаптированный для автоматизации.

Большое спасибо заранее за ваше время и помощь.

Ответы [ 2 ]

4 голосов
/ 28 сентября 2012

У меня была точно такая же проблема:

Я использую веб-драйвер Selenium для проверки моего локального http-сервера, который отправляет перенаправления в службу https (также 3DS;). Проблема не в сертификатах, а в жестко заданном предупреждении о переключении между https / http.

На основе ссылки из ответа МакГайвера и этого ответа Нажмите клавишу (Ctrl + A) Selenium WebDriver , я проверил это и могу подтвердить, что он закрывается. введенный должен быть отправлен через незашифрованное соединение и может быть легко прочитан сторонним "диалогом:

Alert alert = driver.switchTo().alert();
alert.accept();

Другое решение, кажется, работает нормально, но вы получите UnhandledAlertException с последними версиями Selenium (например, 2.25.0):

Actions a = new Actions(driver);
a.sendKeys(Keys.ENTER).perform();
0 голосов
/ 18 июля 2011

Опция № 1:

Самый простой способ - это удалить опцию в настройках безопасности для вашего профиля: http://forums.mozillazine.org/viewtopic.php?f=38&t=665552

Опция № 2:

Не уверен, относится ли это к ненадежному сертификату или к вашему предупреждению безопасности, но ветка форума, похоже, подходит.Это требует, чтобы вы использовали Selenium RC Server.

Здесь хранятся профили для Firefox:% APPDATA% \ Mozilla \ Firefox

Профили можно редактировать: http://www.dennisplucinik.com/blog/2011/02/04/how-to-install-run-multiple-firefox-versions-in-windows-simultaneously/

Следуйте приведенному ниже фрагменту по этой ссылке: http://old.nabble.com/Security-Warning-on-final-page,-how-to-remove-td22907376.html

При использовании Firefox 3 см. Следующий пост https://developer.mozilla.org/En/Cert_override.txt

Решение, которое я использую для преодоления этого всплывающего окна безопасности, применимо только к браузерам Firefox 3и может быть скорее взломом, чем исправлением, но это работает.

  1. Запустить тест на селен
  2. Выберите «Принять этот сертификат навсегда» при появлении всплывающего сообщения
  3. Нажмите кнопку ОК (после этого может потребоваться пауза, потому что нам нужно открыть проводник, чтобы найти файл сейчас)
  4. Откройте проводник Windows и перейдите к => "C: \ Users \ xxxxxxxx \AppData \ Local \ Temp \ customProfileDirxxxx "
  5. Это временный профиль, созданный Firefox, который содержит файл с именем" cert_override.txt "
  6. Скопируйте" cert_override.txt "в ваш временный каталог
  7. Остановите свой сервер селена.
  8. Откройте файл «selenium-server.jar» из «c: \ selenium-remote-control-xxx \ selenium-server-xxx» с помощью WinRar
  9. Перетащите файл «cert_override.txt» в «selenium»-server.jar \ customProfileDirCUSTFFCHROME "папка в WinRar (не удаляйте и не редактируйте ничего в файле .jar !!!!!)
  10. Закройте WinRar, запустите selenium и попробуйте снова:)
...