【问题标题】:CodedUI test shows "are you sure you want to leave" popupCodedUI 测试显示“你确定要离开”弹出窗口
【发布时间】:2014-04-03 18:40:59
【问题描述】:

我有一个 Web 应用程序(MVC4、KnockOut),我正在尝试使用 CodedUI 进行测试。在其中一个屏幕上有一个带有一堆 select 标记的表单,以及一个在单击时具有调用 WebAPI 的敲除绑定的按钮。在 WebAPI 调用之后,用户被重定向到另一个屏幕。

当我手动使用此屏幕时,我可以选择值,然后单击按钮,应用程序按预期运行:调用 WebAPI,如果成功,则进行重定向。

但是,当我使用 CodedUI 查找并单击按钮时,我会收到一个弹出窗口,询问我是否确定要离开该页面。我认为这是离开带有表单数据的页面时的默认 Internet Explorer 行为。我的问题是,为什么 CodedUI 自动化会发生这种情况,而不是当我手动单击按钮时?

我正在使用 IE11 和 VS2012 Premium Update 4。这是我的 UI 自动化代码的小 sn-p:

var button = new HtmlButton {Container = BrowserWindow};
button.SearchProperties.Add(HtmlControl.PropertyNames.Title, "My button title");
Mouse.Click(button);

【问题讨论】:

    标签: asp.net-mvc-4 knockout.js coded-ui-tests


    【解决方案1】:

    我设法发现在使用 AJAX 调用 WebAPI 的函数中,我们首先禁用了 onbeforeunload 事件。尽管如此,当 CodedUI 单击按钮时,这似乎并没有被调用。我已经设法通过使用来解决这个问题

    BrowserWindow.ExecuteScript("window.onbeforeunload = null;");
    

    但是,我仍然无法弄清楚为什么我需要这样做......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-16
      • 2022-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-20
      相关资源
      最近更新 更多