在手动运行到达主屏幕,页面保持加载和API调用超时504错误(在Jmeter执行期间收到相同的错误)但如果同一页面(主屏幕)手动刷新三次,所有以前超时的API加载成功(状态:200)。但我无法确定如何使用Jmeter刷新页面。任何帮助吗?谢谢!我尝试在脚本部分添加JSR 223预处理器,使用下面的Javascript - load(“API-url”),但似乎不起作用。
rdlzhqv91#
根据JMeter项目主页:
JMeter不是浏览器,它工作在协议层。就Web服务和远程服务而言,JMeter看起来像一个浏览器(或者更确切地说,多个浏览器);然而,JMeter并不执行浏览器支持的所有操作。特别是,JMeter不执行HTML页面中的Javascript。它也不像浏览器那样呈现HTML页面(可以查看HTML等格式的响应,但任何示例中都不包括计时,并且一次只能显示一个线程中的一个示例)。
因此,为了“刷新”页面,您需要使用HTTP请求采样器向其发送相同的HTTP Request。如果您想多次发送相同的请求,则将其置于循环控制器下是有意义的如果加载页面触发了一些AJAX requests到API -- JMeter不会自动执行这些请求,你需要为每个API请求创建一个单独的HTTP请求采样器。同样,真实的的浏览器并行执行 AJAX 请求,所以如果有多个API请求--你需要把它们放在Parallel Controller下
1条答案
按热度按时间rdlzhqv91#
根据JMeter项目主页:
JMeter不是浏览器,它工作在协议层。就Web服务和远程服务而言,JMeter看起来像一个浏览器(或者更确切地说,多个浏览器);然而,JMeter并不执行浏览器支持的所有操作。特别是,JMeter不执行HTML页面中的Javascript。它也不像浏览器那样呈现HTML页面(可以查看HTML等格式的响应,但任何示例中都不包括计时,并且一次只能显示一个线程中的一个示例)。
因此,为了“刷新”页面,您需要使用HTTP请求采样器向其发送相同的HTTP Request。如果您想多次发送相同的请求,则将其置于循环控制器下是有意义的
如果加载页面触发了一些AJAX requests到API -- JMeter不会自动执行这些请求,你需要为每个API请求创建一个单独的HTTP请求采样器。同样,真实的的浏览器并行执行 AJAX 请求,所以如果有多个API请求--你需要把它们放在Parallel Controller下