在网页上加载测试Javascript

时间:2017-12-13 10:15:23

标签: javascript jmeter performance-testing load-testing gatling

我目前正在加载测试我的公司新网页并使用JMeter执行此任务。我们有一个评估,它将本地的javascript下拉到用户机器,一旦完成的测试上传回数据库,就可以进行测试。

我遇到的问题是,JMeter不是浏览器并且不与javascript交互。我们需要一种方法来测试浏览页面评估请求所需的时间以及拉取所需的时间。还需要在特定时间段内增加请求数量,以便我们确定服务器在什么时候崩溃。

我也尝试过使用Gatling但是我遇到了同样的问题。有没有其他人遇到过这些问题,他们是如何解决这个问题的?

提前致谢!

4 个答案:

答案 0 :(得分:1)

由于性能原因,很少有工具在执行负载测试时在客户端/ VU线程中运行下载的JS代码。您可以尝试使用Selenium Grid或基于它的一些在线服务,如https://www.loadbooster.com/或Blazemeter,但如果您想在自己的环境中运行测试,Selenium Grid可能是您唯一的选择。

另一种方法是在编写负载测试场景脚本时模拟JS客户端代码。许多工具可以在某种程度上做到这一点,但是为了使现有JS代码的翻译更容易,我会选择一种提供真实脚本语言的工具,例如磨床,蝗虫,Wrk或k6(或可能是加特林)。 k6可能是最简单的,因为你在Javascript中编写脚本,所以翻译客户端JS代码应该在那里工作少一些。

答案 1 :(得分:1)

您需要将测试分为两个主要区域:

  1. JavaScript处理仅在客户端进行,您需要单独测试,大多数现代Web浏览器都附带开发人员工具,可以测试JavaScript执行的性能:

  2. 服务器端影响是下载JavaScript并上传结果的事实,您应该能够使用JMeter的HTTP Request采样器模仿相应的调用,请查看Performance Testing: Upload and Download Scenarios with Apache JMeter文章以获取更多详细信息。

答案 2 :(得分:0)

在每个浏览器中查看开发人员工具内置的JavaScript分析器。这是一个与浏览器/操作系统/机器/运行应用程序/浏览器扩展问题的单一定义相关的问题,而不是多用户性能之一

答案 3 :(得分:-1)

不确定是否适合所描述的用例,但是还有https://github.com/anywhichway/benchtest