简体   繁体   中英

How to click ok button in alert dialog box using watin?

I am trying to automate one website, in my project after clicking on 'submit' button, one alert message with ok button will come. I want to click that ok button.

I tried with these two codes seperatly but these are not working

                    AlertDialogHandler AlertDialog = new AlertDialogHandler();
                    ie.AddDialogHandler(AlertDialog);
                    ie.Button(Find.ByValue("Submit")).ClickNoWait();
                    AlertDialog.WaitUntilExists();
                    AlertDialog.OKButton.Click();
                    ie.WaitForComplete();
                    ie.RemoveDialogHandler(AlertDialog);


                    var AlertDialogHandler = new AlertDialogHandler();
                    using (new UseDialogOnce(ie.DialogWatcher, AlertDialogHandler))
                    {
                        ie.Button(Find.ByValue("Submit")).ClickNoWait();
                        AlertDialogHandler.WaitUntilExists(50);
                        var message = AlertDialogHandler.Message;
                        AlertDialogHandler.OKButton.Click();
                        ie.WaitForComplete();
                    }

While using these two codes, I got the same exception 'dialog not available within 30 seconds'.

Any help will be deeply appreciated. Thank You:)


This has happened with me a couple of times when I had multiple browser windows open and I was trying it out.
The solution at that time was to close all instances of IE, close NUnit / VS and start over again, and it worked like a charm. However, I was using a ConfirmDialogHandler and not an AlertDialog Handler.

If that does not help you might want to try adding the following before you fire up your browser instance.

Settings.AutoStartDialogWatcher = true;
Settings.AutoCloseDialogs = true;

I'm not familiar with WatiN, but here's another SO post that might help:

WatiN seems to not find JavaScript alert

There is a way to perform this without watin:

See my post:

Need a way to perform auto confirm for firefox or any other browser popup's

this is slightly unrelated but AlertDialogHandler's don't work for Firefox but there is a workaround...

http://pastebin.com/ZapXr9Yf

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM