2011-07-22 13 views
0

私はをクリックした後に私のプロジェクトでは、1つのウェブサイトを自動化しようとしています[OK]ボタンと1件のアラートメッセージが来る、「送信」ボタン。そのOKボタンをクリックします。Watinを使ってアラートダイアログボックスのokボタンをクリックする方法は?

私はseperatlyこれら2つのコードで試してみましたが、これら2つのコードを使用している間、これらは

    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(); 
        } 

を働いていない、私は同じ例外「30秒以内に利用できないダイアログ」を得ました。

ご協力いただければ幸いです。ありがとうございました:)

答えて

1


私は複数のブラウザを持っていたときこれは私と一緒に数回起こっています窓が開いて私はそれを試していた。
当時のソリューションは、IEのすべてのインスタンスを閉じNUnitの/ VSを閉じて、もう一度やり直すことだった、それが魅力のように働きました。しかし、私はConfirmDialogHandlerを使用していましたが、AlertDialogハンドラは使用していませんでした。

それはあなたがあなたのブラウザのインス​​タンスを起動する前に、以下を追加しようとする場合があります解決しない場合。

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

これはやや無関係であるが、AlertDialogHandlerのは、Firefoxには対応していませんが、そこです回避策...

http://pastebin.com/ZapXr9Yf

関連する問題