Используя Watin, я пытаюсь обработать диалоговое окно подтверждения и сообщить watin, чтобы нажать "OK". Это хорошо задокументировано в Интернете - вы используете метод ConfirmDialogHandler
и UseDialogOnce
. За исключением того, что он не работает для меня. Я получаю следующую ошибку:
WatiN.Core.Exceptions.WatiNException: Dialog not available within 5 seconds
Я использую бета-версию watin 2.0, но раньше я использовал более раннюю версию 1.X, которая имела ту же проблему. Протестированный на компьютере коллег с 64-разрядной версией Vista, я запускаю 64-разрядную версию Windows 7.
Код выглядит следующим образом:
using (IE ie = new IE("http://localhost/TestApp/TestConfirmPage.asp"))
{
var approveConfirmDialog = new ConfirmDialogHandler();
using (new UseDialogOnce(ie.DialogWatcher, approveConfirmDialog))
{
ie.Button(Find.ByName("btn")).ClickNoWait();
approveConfirmDialog.WaitUntilExists(5);
approveConfirmDialog.OKButton.Click();
}
ie.WaitForComplete();
}
Страница ASP очень проста: она состоит из кнопки, которая заставляет подтвердить, например:
<input type="button" name="btn" id="btn" value="Click me" onclick="ConfirmApp()" />
И ConfirmApp
был удален для тестирования, так что теперь все, что он содержит:
bOK = confirm("You clicked a popup. Did you mean to?");
return bOK;