使用 Watin,我正在尝试处理确认对话框并告诉 watin 按“确定”。这在互联网上有很好的记录 - 你使用 aConfirmDialogHandler
和UseDialogOnce
方法.. 除非它对我不起作用。我收到以下错误:
WatiN.Core.Exceptions.WatiNException: Dialog not available within 5 seconds
我使用的是 watin 2.0 beta atm,但我之前使用的是 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;