Как нажать кнопку ОК в диалоговом окне предупреждения с помощью программы watin?

Я пытаюсь автоматизировать один веб-сайт, в моем проекте после нажатия кнопки «Отправить» появится одно предупреждающее сообщение с кнопкой ОК. Я хочу нажать эту кнопку ОК.

Я пробовал использовать эти два кода по отдельности, но они не работают

                    AlertDialogHandler AlertDialog = new AlertDialogHandler();
                    ie.AddDialogHandler(AlertDialog);
                    ie.Button(Find.ByValue("Submit")).ClickNoWait();
                    AlertDialog.WaitUntilExists();
                    AlertDialog.OKButton.Click();
                    ie.WaitForComplete();
                    ie.RemoveDialogHandler(AlertDialog);


                    var AlertDialogHandler = new AlertDialogHandler();
                    using (new UseDialogOnce(ie.DialogWatcher, AlertDialogHandler))
                    {
                        ie.Button(Find.ByValue("Submit")).ClickNoWait();
                        AlertDialogHandler.WaitUntilExists(50);
                        var message = AlertDialogHandler.Message;
                        AlertDialogHandler.OKButton.Click();
                        ie.WaitForComplete();
                    }

При использовании этих двух кодов я получил такое же исключение: «диалоговое окно недоступно в течение 30 секунд».

Мы будем очень благодарны за любую помощь. Спасибо :)


person Manoj Kumar    schedule 22.07.2011    source источник


Ответы (4)



Это случалось со мной пару раз, когда у меня было открыто несколько окон браузера, и я пробовал это сделать.
В то время решение заключалось в том, чтобы закрыть все экземпляры IE, закрыть NUnit / VS и начать заново, и это сработало как шарм. Однако я использовал ConfirmDialogHandler, а не обработчик AlertDialog.

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

Settings.AutoStartDialogWatcher = true;
Settings.AutoCloseDialogs = true;
person Ashish Narmen    schedule 22.07.2011

Я не знаком с WatiN, но вот еще один пост SO, который может помочь:

Похоже, что WatiN не находит предупреждение JavaScript

person Tim    schedule 22.07.2011

Есть способ сделать это без надобности:

Смотрите мой пост:

Нужен способ выполнить автоматическое подтверждение для Firefox или любого другого всплывающего окна браузера

person alonp    schedule 24.07.2011

это немного не связано, но AlertDialogHandler не работает для Firefox, но есть обходной путь ...

http://pastebin.com/ZapXr9Yf

person Phil Lambert    schedule 06.10.2011