使用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