首页 文章

JMeter - 线程组之间的共享会话

提问于
浏览
4

我对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之外,它们是相同的 . 我该怎么做才能解决这个问题?

2 回答

  • 0

    看看jMeter Plugins'InterThreadCommunication .

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

  • 0

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

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

相关问题