Обработка встроенных диалогов JavaScript с помощью WatiN

#c# #automated-tests #integration-testing #watin

#c# #автоматизированные тесты #интеграция-тестирование #watin

Вопрос:

На сайте, для которого мы в настоящее время пишем тесты, есть несколько диалогов подтверждения и оповещения JavaScript, которые появляются после обновления страницы и написаны на встроенном JavaScript. Например:

 <script>
if (confirm('Outcome has been saved. Click OK to create a followup appointment, or click Cancel to return to appointment outcome details.')) {
   pbFup.click();
}
</script>
  

Наши тестовые скрипты, похоже, не способны справиться с этим, и я не могу понять, делаем ли мы что-то неправильно, или это сбой, потому что WatiN не может обрабатывать встроенный JavaScript. Один из наших тестов выглядит следующим образом:

 var confirmDialogHandler = new ConfirmDialogHandler();
using (new UseDialogOnce(IEInstance.DialogWatcher, ConfirmDialogHandler))
{
    frame.Button(Find.ByName("cbnSave")).Click();
    // The page should reload here.
    confirmDialogHandler.WaitUntilExists();
    confirmDialogHandler.OKButton.Click();
}
IEInstance.WaitForComplete();
  

Комментарии:

1. вы пробовали с frame.Button(Find.ByName("cbnSave")).ClickNoWait();

2. Да, мы пробовали это, но результат был тот же.

Ответ №1:

Я использовал AlertDialogHandler (), и теперь это работает у меня.