使用 WatiN 处理内联 JavaScript 对话

本文关键字:JavaScript 对话 WatiN 处理 使用 | 更新日期: 2023-09-27 17:57:12

我们目前正在为其编写测试的网站有一些JavaScript确认和警报对话框,这些对话框在页面刷新后发生,并且是用内联JavaScript编写的。例如:

<script>
if (confirm('Outcome has been saved. Click OK to create a followup appointment, or click Cancel to return to appointment outcome details.')) {
   pbFup.click();
}
</script>

我们的测试脚本似乎无法处理这个问题,我无法弄清楚我们是否做错了什么,或者它是否因为 WatiN 无法处理内联 JavaScript 而失败。我们的一个测试如下所示:

var confirmDialogHandler = new ConfirmDialogHandler();
using (new UseDialogOnce(IEInstance.DialogWatcher, ConfirmDialogHandler))
{
    frame.Button(Find.ByName("cbnSave")).Click();
    // The page should reload here.
    confirmDialogHandler.WaitUntilExists();
    confirmDialogHandler.OKButton.Click();
}
IEInstance.WaitForComplete();

使用 WatiN 处理内联 JavaScript 对话

我使用了AlertDialogHandler(),它现在对我有用。