Нажмите кнопку ОК внутри оповещения (Selenium IDE) - PullRequest
64 голосов
/ 28 августа 2009

Мне нужно нажать кнопку «ОК» внутри окна предупреждения с помощью команды Selenium . Я пробовал assertAlert или verifyAlert, но они не делают то, что я хочу.

Возможно ли нажать кнопку «ОК»? Если да, может ли кто-нибудь дать мне пример команды Selenium IDE?

Ответы [ 13 ]

0 голосов
/ 16 августа 2011

Используйте chooseOkOnNextConfirmation (), чтобы закрыть предупреждение и getAlert (), чтобы убедиться, что оно было показано (и при желании получить его текст для проверки).

selenium.chooseOkOnNextConfirmation();  // prepares Selenium to handle next alert
selenium.click(locator);
String alertText = selenium.getAlert(); // verifies that alert was shown
assertEquals("This is a popup window", alertText);
...
0 голосов
/ 08 февраля 2011

Для селена предупреждение - это то, что было вызвано с помощью javascript, например,

 javascript:alert();

Существует одна базовая проверка, чтобы проверить, является ли ваше предупреждение на самом деле предупреждением javascript или просто окном на основе div для отображения некоторого сообщения. Если это предупреждение javascript, вы не сможете увидеть его на экране во время выполнения сценария selenium.

Если вы можете увидеть его, то вам нужно найти локатор кнопки ok оповещения и использовать selenium.click (локатор), чтобы отключить оповещение. Может помочь вам лучше, если вы можете предоставить больше контекста:

  1. IDE или RC?
  2. HTML код оповещения
  3. ваш сценарий селена.

Vamyip

0 голосов
/ 10 ноября 2009

assertAlert должен сделать свое дело. Я вижу в документах, что предупреждения, сгенерированные в обработчике события OnLoad страницы, не могут быть написаны таким образом (и я испытал это сам, увы, из-за жизненного цикла страницы ASP.NET). Может ли это быть тем, с чем вы сталкиваетесь?

...