Utilizzando Watin, sto tentando di gestire una finestra di dialogo di conferma e dire a watin di premere "OK". Questo è perfettamente documentato su internet - si usa un ConfirmDialogHandler
e il metodo UseDialogOnce
.. Tranne che non funziona per me. Ottengo il seguente errore:Watin - Gestione delle finestre di dialogo di conferma con ConfirmDialogHandler
WatiN.Core.Exceptions.WatiNException: Dialog not available within 5 seconds
sto usando la versione beta Watin 2.0 atm, ma ero in precedenza con una versione precedente di 1.X che aveva lo stesso problema. Testato su una macchina che esegue i colleghi a 64 bit di Vista, sto correndo a 64 bit di Windows 7.
Il codice è simile al seguente:
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();
}
La pagina ASP è molto semplice, si compone di un pulsante che le forze una conferma, in questo modo:
<input type="button" name="btn" id="btn" value="Click me" onclick="ConfirmApp()" />
E ConfirmApp
è stato messo a nudo giù per le prove in modo che ora tutto ciò che contiene è:
bOK = confirm("You clicked a popup. Did you mean to?");
return bOK;
correlati: http://stackoverflow.com/questions/5626538/watin-ie9-cant-click-ok-buttons/9769242#9769242 –