c# – 在selenium中检测ajax请求

前端之家收集整理的这篇文章主要介绍了c# – 在selenium中检测ajax请求前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用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";

猜你在找的C#相关文章