使用WatiN处理内联JavaScript对话

时间:2011-05-23 09:57:13

标签: c# automated-tests integration-testing watin

我们当前正在编写测试的网站有一些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();

1 个答案:

答案 0 :(得分:1)

我使用了AlertDialogHandler(),现在它正在为我工​​作。