使用Watin,我试图处理一个确认对话框并告诉watin按“OK”。这是在互联网上可以很好地记录 - 你使用ConfirmDialogHandler
和UseDialogOnce
方法..除了它不适合我。我得到以下错误:Watin - 使用ConfirmDialogHandler处理确认对话框
WatiN.Core.Exceptions.WatiNException: Dialog not available within 5 seconds
我使用的是华廷2.0测试版的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;
相关:http://stackoverflow.com/questions/5626538/watin-ie9-cant-click-ok-buttons/9769242#9769242 – 2012-03-19 12:10:05