jmeter 结果树中缺少项目
missing items in jmeter result tree
这是我的测试结构。
recording controller
transaction controller
homepage (transaction controller)
HTTP Request 1
Response Assertion (response code = 200)
HTTP Request 2
Response Assertion (response code = 200)
HTTP Request 3
Response Assertion (response code = 200)
....
login (transaction controller)
HTTP Request 1
Response Assertion (response code = 200)
....
logout (transaction controller)
HTTP Request 1
Response Assertion (response code = 200)
....
View Results Tree
测试放置在终极线程组中(一次最多 20 个线程)。我放入每个 HTTP 请求响应断言。
当 运行 测试时,然后在结果树中查看所有内容都是绿色的,所以 OK。
但是当我点击结果树时,我意识到,有时有些项目是
失踪,但不是每次。
参见:例如:
transaction controller
homepage
login
(logout is missing !!!)
问题是为什么?
使用 Ultimate Thread Group 时,您没有固定数量的 loops/iterations,因此如果您指定一些“保持负载”时间跨度,线程(虚拟用户)将在“中间”关闭" 的测试执行,即在 homepage
交易的某个地方 - 它根本无法完成所有剩余的请求。
喜欢
- 如果您将
Hold Load For
设置为 1 秒 - 只会执行 1 个请求
- 如果您将
Hold Load For
设置为 5 秒 - 将执行几个请求
- 如果您将其设置为 5 分钟 - 很可能所有请求都会至少执行一次,但请求的数量主要取决于您的应用程序响应时间
因此,如果您希望执行整个序列 - 切换到“正常”Thread Group 并指定所需的迭代次数
同时使用 JMeter GUI 模式和 View Results Tree 侦听器来执行负载测试并不是最好的主意,您 should be running your JMeter tests in command-line non-GUI mode and use HTML Reporting Dashboard 进行结果分析。
这是我的测试结构。
recording controller
transaction controller
homepage (transaction controller)
HTTP Request 1
Response Assertion (response code = 200)
HTTP Request 2
Response Assertion (response code = 200)
HTTP Request 3
Response Assertion (response code = 200)
....
login (transaction controller)
HTTP Request 1
Response Assertion (response code = 200)
....
logout (transaction controller)
HTTP Request 1
Response Assertion (response code = 200)
....
View Results Tree
测试放置在终极线程组中(一次最多 20 个线程)。我放入每个 HTTP 请求响应断言。
当 运行 测试时,然后在结果树中查看所有内容都是绿色的,所以 OK。 但是当我点击结果树时,我意识到,有时有些项目是 失踪,但不是每次。 参见:例如:
transaction controller
homepage
login
(logout is missing !!!)
问题是为什么?
使用 Ultimate Thread Group 时,您没有固定数量的 loops/iterations,因此如果您指定一些“保持负载”时间跨度,线程(虚拟用户)将在“中间”关闭" 的测试执行,即在 homepage
交易的某个地方 - 它根本无法完成所有剩余的请求。
喜欢
- 如果您将
Hold Load For
设置为 1 秒 - 只会执行 1 个请求 - 如果您将
Hold Load For
设置为 5 秒 - 将执行几个请求 - 如果您将其设置为 5 分钟 - 很可能所有请求都会至少执行一次,但请求的数量主要取决于您的应用程序响应时间
因此,如果您希望执行整个序列 - 切换到“正常”Thread Group 并指定所需的迭代次数
同时使用 JMeter GUI 模式和 View Results Tree 侦听器来执行负载测试并不是最好的主意,您 should be running your JMeter tests in command-line non-GUI mode and use HTML Reporting Dashboard 进行结果分析。