无法使用JMeter捕获网页上的相关值

时间:2018-06-27 15:03:45

标签: jmeter

我目前正在尝试记录一个网页,其中包含用于构建网页的bundle.js文件。

工具:JMeter 3.0版

问题在于,当我在JMeter中记录页面并重播页面响应时,它并不包含所有元素,因此无法关联需要传递给下一个调用的值。

我注意到的是,如果将视图结果树附加到记录器,则所寻找的值将可见。因此,它们是在记录过程中捕获的,但是在重放时在响应中不可见。

我认为.js文件是在页面加载期间执行的,因此没有被捕获,并且所有显示的都是实际的

请帮助

1 个答案:

答案 0 :(得分:0)

JMeter根本不运行客户端JS代码。 JS代码用于在客户端进行渲染,而JMeter中的记录(和重放)则在HTTP级别(客户端与服务器之间的通信级别)完成。与您在浏览器的“开发工具”中的“网络”标签上看到的级别相同。就记录/重放而言,这些文件将仅被下载,并且它们产生的客户端到服务器的流量将被重放。但是,不会回放仅在客户端运行的任何内容。因此,如果客户端发生了一些魔术/逻辑操作(例如JS中的计算,数据转换等,然后将其发送到服务器),则您有2个选择:

  1. 在发送HTTP请求之前,使用JMeter脚本功能复制相同的逻辑/动态数据。这是人们最常做的事情。

  2. 或者另一种选择是使用Selenium采样器和重复的UI级别行为,但是这种类型的测试是非常有限的,仅适合某些情况