在进行性能测试时如何在jmeter上启用JS

时间:2019-12-10 06:07:08

标签: testing automation jmeter automated-tests performance-testing

我需要进行性能测试 而我在jmeter上做同样的事情

我正在我的网站上进行性能测试。 并显示错误“请打开JavaScript并重新加载页面”。 所以你能指导我如何通过jmeter启用JS吗?

1 个答案:

答案 0 :(得分:0)

您不能。

根据JMeter project main page

  

JMeter不是浏览器,它在协议级别工作。就Web服务和远程服务而言,JMeter看起来像一个浏览器(或更确切地说,是多个浏览器)。但是,JMeter不会执行浏览器支持的所有操作。 特别是,JMeter不会执行HTML页面中的Javascript。它也不会像浏览器那样呈现HTML页面(可以将响应查看为HTML等,但计时不包括在内)任何样本中,一次只能显示一个线程中的一个样本。

我可以想到三种处理JavaScript的方式:

  1. 它在客户端(在浏览器中)执行,并且不会生成网络请求。如果是这种情况,您可以在测试后端(而不是客户端)时完全忽略。如果您需要测试客户端性能,由于上述原因,JMeter将无济于事,请考虑使用Selenium之类的浏览器自动化工具,或者如果您使用JMeter作为全局框架,则可以使用WebDriver Sampler插件来提供JMeter与Selenium集成
  2. 如果JavaScript产生一个或多个HTTP请求-为了使测试的行为更像真实的浏览器,则应执行这些请求。尽管JMeter无法解析JavaScript,但它能够通过HTTP Requests采样器记录源自JavaScript的HTTP Request。如果有多个请求,即应用程序是基于AJAX技术构建的,则最好将HTTP Request采样器置于Parallel Controller下,因为真正的浏览器或多或少地同时执行AJAX请求< / li>
  3. JavaScript用于生成一些必要的请求参数,Cookie,标头等。在这种情况下,您需要了解JavaScript代码在做什么(您可以使用自己喜欢的browser developer tools对其进行调试)并重新-使用JSR223 Test Elements,最好使用Groovy语言实现代码。