gpt4 book ai didi

WatiN 驱动 IE "Are you sure you want to leave this page?"弹出窗口

转载 作者:行者123 更新时间:2023-12-04 17:38:55 25 4
gpt4 key购买 nike

我想扩展我的 WatiN 自动化测试来驱动一个页面,以防止用户在没有保存更改的情况下意外离开页面。

该页面使用“beforeunload”技术来寻求用户的确认:

$(window).bind('beforeunload', function (event) {
if (confirmationRequired) {
return "Sure??";
}
});

我的 WatIn 测试正在使用 IE 驱动页面。我找不到让 WatIn 附加到弹出对话框的方法,这样我就可以从我的测试中控制它。

以下所有内容都失败了(其中硬编码字符串指的是我可以在弹出窗口中看到的字符串):
Browser.AttachTo<IE>(Find.ByTitle("Windows Internet Explorer");
browser.HtmlDialog(Find.FindByTitle("Windows Internet Explorer));
browser.HtmlDialog(Find.FindByTitle("Are you sure you want to leave this page?));
browser.HtmlDialog(Find.FindFirst());

谢谢!

最佳答案

您需要创建并添加对话框处理程序。

示例 转到示例站点,单击链接,在确认对话框中单击离开页面:

IE browser = new IE();
browser.GoTo("http://samples.msdn.microsoft.com/workshop/samples/author/dhtml/refs/onbeforeunload.htm");

WatiN.Core.DialogHandlers.ReturnDialogHandlerIe9 myHandler = new WatiN.Core.DialogHandlers.ReturnDialogHandlerIe9();

browser.AddDialogHandler(myHandler);
browser.Link(Find.ByUrl("http://www.microsoft.com")).ClickNoWait();
myHandler.WaitUntilExists();

myHandler.OKButton.Click();
browser.RemoveDialogHandler(myHandler);

以上适用于WatiN2.1、IE9、Win7。如果使用 IE8 或更早版本,您可能需要使用 ReturnDialogHandler对象而不是 Ie9 特定的处理程序

关于WatiN 驱动 IE "Are you sure you want to leave this page?"弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9295710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com