【问题标题】:Web stress testing of AngularJS SPA ASP.NET MVC application in Visual Studio在 Visual Studio 中对 AngularJS SPA ASP.NET MVC 应用程序进行 Web 压力测试
【发布时间】:2017-10-24 14:17:12
【问题描述】:

是否可以测试使用 ASP.NET MVC 和 Visual Studio 或任何其他替代工具开发的 AngularJS SPA 应用程序用于相同目的?

【问题讨论】:

  • 对于 Angular JS 或 React JS 之类的应用程序,传统协议 (HTTP/HTML) 不是正确的选择。远离 Web HTTP/HTML 协议。即使您记录应用程序,它也只会捕获服务调用。要测量性能,请使用 UI 层协议,例如 TruClient for Web 或 JMeter Web Driver sampler。仅使用一个用户运行您的脚本,并且您需要在后台运行适当的 Web 服务调用以进行实际负载。混合这两个脚本会产生更好的性能指标。

标签: angularjs visual-studio performance-testing


【解决方案1】:

我通过使用无头浏览器 (PhantomJS) 解决了上述问题。我编写了一个脚本来模拟用户登录到 Angular 应用程序并加载收件箱。但这样我只能测试一个用户。

我们不能跨越 PhantomJS 的多个实例,所以我创建了 100 个 PhantomJS 的副本,然后编写了一个脚本来启动所有这 100 个副本以跨越 1 个进程em>PhantomJS 每个文件,该解决方案对 SPA 网站的负载测试非常有用。

【讨论】:

  • 感谢莱昂纳多做出的改变。
【解决方案2】:

如果您有包含负载测试框架的 Visual Studio 版本,答案是肯定的,请参阅Get started with performance testing 了解详细信息。

如果您没有匹配的 Visual Studio 版本,您可以考虑使用任何其他负载测试工具,例如参见 http://www.opensourcetesting.org/category/testing-tools-overview/performance/?menu-page=overview

任何支持 HTTP/HTTPS 协议的工具都适合您。

Open Source Load Testing Tools: Which One Should You Use? 文章中列出并比较了最出色的免费和开源负载测试工具。

【讨论】:

  • 如果有 Visual Studio 2017 Enterprise。但问题是 VS Test 没有看到为页面生成的 HTML 是有效的 HTML,因为 AngularJS 有它自己的 HTML 约定。另外,没有执行 GUI 的客户端渲染,并且 VS 记录器无法记录对服务器的所有 AJAX 和 Async 调用(我可以在提琴手中看到许多幕后调用正在被提琴手记录)。所以我没有发现 Visual Studio 能够完美地运行测试。如果您这样做了,请告诉我该怎么做,或任何相关的文档链接。
  • 如果你正在使用 Fiddler 并且仍然想使用 MSVS,你可以将 export captured requests 作为 File Export->All Sessions->Select Export Format -> Visual Studio WebTests 并将它们导入到你的 VS 项目中。对于其他工具,请参见 How to Load Test AJAX/XHR Enabled Sites With JMeter
猜你喜欢
  • 2021-01-18
  • 2011-04-20
  • 1970-01-01
  • 2018-07-09
  • 1970-01-01
  • 2010-12-13
  • 2010-09-17
  • 2014-12-19
  • 1970-01-01
相关资源
最近更新 更多