gpt4 book ai didi

c# - 检测selenium中的ajax请求

转载 作者:太空狗 更新时间:2023-10-29 20:41:38 39 4
gpt4 key购买 nike

我正在使用 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 库来实现此目的。

此博客中详细描述了这种方法。 https://rogerkeays.com/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# - 检测selenium中的ajax请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28530342/

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