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

c# – 在selenium中检测ajax请求

发布时间:2020-12-15 07:52:20 所属栏目:百科 来源:网络整理
导读:我正在使用selenium测试单页应用.我想测试以确保应用程序只在需要时返回服务器. 在selenium中有没有办法声明没有发生ajax请求或发生了ajax请求并检查ajax URL? 我正在通过寻找加载div的存在来测试它,但这不是我真正想要测试的,并且当在本地机器上进行测试时
我正在使用selenium测试单页应用.我想测试以确保应用程序只在需要时返回服务器.

在selenium中有没有办法声明没有发生ajax请求或发生了ajax请求并检查ajax URL?

我正在通过寻找加载div的存在来测试它,但这不是我真正想要测试的,并且当在本地机器上进行测试时它不是很稳定,因为请求有时会超过测试执行.

解决方法

WebDriver中没有直接的方法来检测您的ajax请求.看到这个问题.
https://code.google.com/p/selenium/issues/detail?id=141

但我可以想到一个解决方案.
请您的开发人员在页面源中放置一个隐藏的div.每当他们进行ajax调用时,请他们用旗帜更新这个div.

使用WebDriver,您可以轻松阅读此Div的标志并进行断言.

您还可以使用C#或java中的内置WebClient库来实现此功能.

此博客中详细介绍了此方法.
http://www.ninthavenue.com.au/how-to-get-the-http-status-code-in-selenium-webdriver

如果您只是想查看是否有任何ajax请求,您可以在webDriver中使用javascriptexecutor类.请参阅下面的代码

IJavaScriptExecutor jsScript = driver as IJavaScriptExecutor;
if(!(Boolean)jsScript.ExecuteScript("return jQuery.active == 0"))
retrun "ajax request occured";

(编辑:李大同)

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

    推荐文章
      热点阅读