5

我对 JMeter 还很陌生;我一直在寻找一种在并发执行的线程组中的 HTTP 请求之间共享会话 ID 的方法。我检查了其他问题,但它们似乎没有处理会话,并且我已经实现了在线程之间共享 CSV 变量的目标。

我的测试套件结构:

Test Plan
- HTTP Cookie Manager
- CSV Data Set (sharing mode: all threads)
- HTTP URL Re-Writing Modifier (session arg name: jsessionid, caches session id)

- Thread Group 1
---Controller
------HTTP Request (uses csv value)

...

- Thread Group N (duplicates of TG 1)
---Controller
------HTTP Request (uses csv value)

这是我的测试计划采用的流程(如 View Results Tree Listener 所示):

HTTP Request (TG 1-1) CSV Value: (1) *caches session id, let's say 123
...
HTTP Request (TG N-1) CSV Value: (1) *caches different session id, let's say 456
HTTP Request (TG 1-2) CSV Value: (2) jsessionid=123
...
HTTP Request (TG N-2) CSV Value: (2) jsessionid=456

我的目标是一次发送多个具有相同会话 ID 的相同请求。如您所见,除了会话 ID 之外,它们是相同的。我能做些什么来解决这个问题?

4

2 回答 2

1

一个相当不幸的手动解决方案:

手动获取会话 ID,将其放入用户定义的变量中,将会话变量附加到我的 HTTP 请求中的 url,而无需使用 HTTP URL 重写修饰符。

于 2012-10-10T16:55:18.150 回答
0

看看 jMeter 插件的InterThreadCommunication

使用它,您可以从一个线程将字符串值放入全局参数队列,然后从另一个线程获取该值,即使在不同的线程组中也是如此。

于 2012-10-09T01:35:52.783 回答