我有一个屏幕,在加载时会弹出一个使用 javascript 的打印对话框。
我刚刚开始使用 WatiN 来测试我的应用程序。此屏幕是测试的最后一步。
发生的情况是有时 WatiN 在对话框出现之前关闭 IE,有时它不会,并且窗口会挂起。我在测试 TearDown 中有 ie.Close() 但如果显示打印对话框,它仍然保持打开状态。
我试图避免的是拥有孤立的 IE 窗口。我希望它一直关闭。
我查找了 DialogHandlers 并写了这个:
var printDialogHandler = new PrintDialogHandler(PrintDialogHandler.ButtonsEnum.Cancel);
ie.DialogWatcher.Add(printDialogHandler);
并将其放置在单击链接到页面的按钮之前,但没有任何改变。
我看到的示例中的代码可以执行以下操作:
someDialogHandler.WaitUntilExists() // I might have this function name wrong...
但是 PrintDialogHandler 没有太多成员。
我最初并没有尝试测试这个对话框是否出现(只是页面加载并检查页面上的一些值),但我想等待和测试打印对话框的存在会更完整。