また、AlertAndConfirmDialogHandlerを使用することもできます。このハンドラは、ポップアップするすべてのアラートまたは確認ダイアログを閉じますが、最初にダイアログに表示されるテキストを取得して保存します。このアラート文字列配列を調べて、Countがゼロであるかどうかを調べることができます。テストクラスのティアダウンまたはFixtureTeardownでこれを行うことができます。
あなたはこのハンドラを使用する方法をお見せするためにunittestのWatiNからテストのコピーを以下に示します。
[Test]
public void AlertAndConfirmDialogHandler()
{
DialogWatcher dialogWatcher;
Assert.AreEqual(0, Ie.DialogWatcher.Count, "DialogWatcher count should be zero before test");
// Create handler for Alert and confirm dialogs and register it.
var dialogHandler = new AlertAndConfirmDialogHandler();
using (new UseDialogOnce(Ie.DialogWatcher, dialogHandler))
{
Assert.AreEqual(0, dialogHandler.Count);
Ie.Button("helloid").Click();
Assert.AreEqual(1, dialogHandler.Count);
Assert.AreEqual("hello", dialogHandler.Alerts[0]);
// remove the alert text from the queue by using Pop
Assert.AreEqual("hello", dialogHandler.Pop());
Assert.AreEqual(0, dialogHandler.Count);
// Clear the queue
Ie.Button("helloid").Click();
Assert.AreEqual(1, dialogHandler.Count);
dialogHandler.Clear();
Assert.AreEqual(0, dialogHandler.Count);
dialogWatcher = Ie.DialogWatcher;
}
Assert.AreEqual(0, dialogWatcher.Count, "DialogWatcher count should be zero after test");
}
これはまた、オートクローズ動作がよりプラグ可能にするために私をトリガします。ダイアログを自動的に閉じるのではなく、他のハンドラがダイアログを処理できない場合に呼び出されるダイアログハンドラを登録できるといいでしょう。
私はこの方法で問題に直面していますHTH のJeroenバンメネン リードdevのWatiN
が、それはいつか働き、時にはません。 – rahoolm