我无法在JMeter中记录React应用程序的URL。它在工具中记录了API URL,而不是React URL。我们如何获取和测试我们可以在前端看到的React URL?我尝试了Blaze Meter扩展、JMeter内置记录器和Fiddler工具。
esyap4oy1#
根据JMeter project main page:
JMeter不是浏览器,它工作在协议级。就Web服务和远程服务而言,JMeter看起来像一个浏览器(或者更确切地说,多个浏览器);然而,JMeter并不执行浏览器支持的所有操作。特别是,JMeter不执行HTML页面中的JavaScript。它也不像浏览器那样呈现HTML页面(可以将响应视为HTML等,但计时不包括在任何样本中,并且一次只显示一个线程中的一个样本)。
我不知道你说的“react url”是什么意思,但是JMeter应该记录你在使用你的应用程序时在browser developer tools的“network”选项卡中看到的请求(除了请求到i.e. embedded resources(不应记录)只要JMeter记录的请求与浏览器开发工具记录的请求匹配,就可以使用JMeter进行应用程序性能测试。JMeter不会给予页面渲染时间、JavaScript执行时间、web vitals等指标,如果您需要这些指标,请考虑使用浏览器自动化工具,如Selenium(JMeter可以通过WebDriver Sampler与Selenium集成)或Playwright,或前端性能测试解决方案,如Lighthouse
1条答案
按热度按时间esyap4oy1#
根据JMeter project main page:
JMeter不是浏览器,它工作在协议级。就Web服务和远程服务而言,JMeter看起来像一个浏览器(或者更确切地说,多个浏览器);然而,JMeter并不执行浏览器支持的所有操作。特别是,JMeter不执行HTML页面中的JavaScript。它也不像浏览器那样呈现HTML页面(可以将响应视为HTML等,但计时不包括在任何样本中,并且一次只显示一个线程中的一个样本)。
我不知道你说的“react url”是什么意思,但是JMeter应该记录你在使用你的应用程序时在browser developer tools的“network”选项卡中看到的请求(除了请求到i.e. embedded resources(不应记录)
只要JMeter记录的请求与浏览器开发工具记录的请求匹配,就可以使用JMeter进行应用程序性能测试。
JMeter不会给予页面渲染时间、JavaScript执行时间、web vitals等指标,如果您需要这些指标,请考虑使用浏览器自动化工具,如Selenium(JMeter可以通过WebDriver Sampler与Selenium集成)或Playwright,或前端性能测试解决方案,如Lighthouse