Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net ajax 针对具有大量ajax调用的网站的编码UI测试_Asp.net Ajax_Coded Ui Tests - Fatal编程技术网

Asp.net ajax 针对具有大量ajax调用的网站的编码UI测试

Asp.net ajax 针对具有大量ajax调用的网站的编码UI测试,asp.net-ajax,coded-ui-tests,Asp.net Ajax,Coded Ui Tests,我尝试创建一个编码的UI测试,用于对具有大量ajax调用的网站进行性能负载测试——服务服务器是ASP.NET。加载页面后,将自动调用ajax请求 BrowserWindow实例用于打开网站,其WaitForControlReady方法用于查看页面是否已加载。然而,WaitForControlReady方法不检查ajax调用,因此测试在响应到达之前完成。我的代码如下: browserwindowbw=BrowserWindow.Launch(); foreach(urlist.url中的字符串ur

我尝试创建一个编码的UI测试,用于对具有大量ajax调用的网站进行性能负载测试——服务服务器是ASP.NET。加载页面后,将自动调用ajax请求

BrowserWindow实例用于打开网站,其WaitForControlReady方法用于查看页面是否已加载。然而,WaitForControlReady方法不检查ajax调用,因此测试在响应到达之前完成。我的代码如下:

browserwindowbw=BrowserWindow.Launch();
foreach(urlist.url中的字符串url)
{
DateTime startTime=DateTime.Now;
NavigateToUrl(新的System.Uri(url));
WaitForControlReady();
DateTime stopTime=DateTime.Now;
TimeSpan持续时间=停止时间-开始时间;
TestContext.WriteLine(duration.ToString()+“-”+url);
}

有没有办法跟踪ajax调用,以便我检查准确的加载时间?

您可以通过编码的UI找到ajax“加载(图像或文本)”元素,并对该元素使用WaitForControlNotExist(int Delay(ms))。现在,您的代码等待ajax加载。

编码的UI对于负载测试并不理想,因为计算机(真实或虚拟)一次只能运行一个测试。对于负载测试,您通常希望模拟许多用户,因此需要许多计算机来运行测试。VisualStudio(Ultimate edition)有一个web和负载测试工具,可以在一台计算机上模拟数百个用户。web和负载测试在HTTP级别工作,以避免您描述的“等待”问题。谢谢Adrianhh。我已经有了一个模拟2000个用户的负载测试套件。我在这里做的是计算在2000用户负载测试期间打开页面所需的时间。为此,我需要跟踪编码UI和服务器之间的所有请求和响应?您能否在显示消息(如“操作已完成”)的字段上调用一个
WaitForControl…
方法?