Используя Watin, я пытаюсь обработать диалоговое окно подтверждения и сказать watin, чтобы нажать «ОК». Это хорошо документировано в Интернете - вы используете 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;