加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – Jquery AJAX成功没有被Coded UI测试项目触发

发布时间:2020-12-15 22:20:53 所属栏目:asp.Net 来源:网络整理
导读:我试图在asp.net MVC4应用程序上运行一个Coded-UI测试项目. 该应用程序包含各种涉及的ajax调用. 当我手动测试它,它工作正常,但是当我使用编码测试项目测试它, 它会中断,因为在ajax调用中,回调函数不被调用. 有人可以告诉我我在这里失踪了吗? 提前致谢. 解决
我试图在asp.net MVC4应用程序上运行一个Coded-UI测试项目.
该应用程序包含各种涉及的ajax调用.
当我手动测试它,它工作正常,但是当我使用编码测试项目测试它,
它会中断,因为在ajax调用中,回调函数不被调用.
有人可以告诉我我在这里失踪了吗?
提前致谢.

解决方法

出了什么问题

Microsoft的Coded UI浏览器注入JavaScript来填充XMLHttpRequest对象进行跟踪.页面中的任何ajax调用将使用此垫片而不是真正的XMLHttpRequest.垫片假设您的完成回调附加到XMLHttpRequest的onreadystatechange属性,但是jQuery 2.0使用新的onload和onerror事件,所以回调永远不会被垫片调用.

解决方法

解决方法是将以下内容添加到您的测试项目的App.config文件中:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="WebWaitForReadyLevel" value="3"/>
  </appSettings>
</configuration>

将WebWaitForReadyLevel设置为3,停止编码UI WebBrowser注入javascript以跟踪ajax调用和计时器. jQuery将获得一个真正的XMLHttpRequest,你的ajax回调将再次工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读