在jmeter中,集合点是一个非常实用的功能,可以帮助我们控制测试脚本的并发度和执行顺序。通过设置集合点,我们可以让多个线程同时执行某个任务,也可以让多个线程等待某个事件后再继续执行。下面我们就来详细了解一下jmeter设置集合点的用法和注意事项。
一、设置集合点
要在jmeter中设置集合点,首先需要在测试计划中添加一个“逻辑控制器”节点,选择“同步定时器”作为控制器的类型。在同步定时器的参数中,可以设置“集合点名称”和“等待时间”,如下图所示:
<ThreadGroup>
<SyncTimer group="true" millis="0" timeout="5000">
<name>my_sync</name>
</SyncTimer>
</ThreadGroup>
其中,group属性设置为true表示所有线程会在同一时间内到达集合点,millis属性设置为0表示所有线程将同时等待,timeout属性设置为5000表示如果某个线程在5秒内未能到达集合点,则会超时退出。
二、控制并发度
通过设置集合点,我们可以控制测试脚本的并发度,可以让多个线程同时执行某个任务。例如,我们想要测试一个网站的登录接口,并发度设置为10,可以按照以下步骤进行操作: 1.添加一个“线程组”节点,并设置线程数为10。 2.添加一个“HTTP请求”节点,并设置请求的URL和参数。 3.添加一个“同步定时器”节点,并设置集合点名称和等待时间。 4.在“线程组”中添加多个“HTTP请求”节点,并设置相同的集合点名称。 5.运行测试脚本,查看并发度是否符合预期。 通过这种方式,我们可以轻松地控制测试脚本的并发度,从而模拟真实的用户行为。
三、控制执行顺序
通过设置集合点,我们还可以控制测试脚本的执行顺序,可以让多个线程等待某个事件后再继续执行。例如,我们想要测试一个需要先登录才能访问的页面,并且每个用户之间的访问需要间隔一段时间,可以按照以下步骤进行操作: 1.添加一个“线程组”节点,并设置线程数为10。 2.添加一个“HTTP请求”节点,并设置请求登录接口的URL和参数。 3.添加一个“同步定时器”节点,并设置集合点名称和等待时间。 4.在“线程组”中添加一个“定时器”节点,并设置线程休眠时间为10000毫秒。 5.添加一个“HTTP请求”节点,并设置请求需要登录的页面。 6.在“HTTP请求”节点上设置“前置处理器”为“同步定时器”,并设置相同的集合点名称。 7.在“定时器”节点上设置“后置处理器”为“同步定时器”,并设置相同的集合点名称。 8.运行测试脚本,查看每个用户的访问是否符合预期。 通过这种方式,我们可以轻松地控制测试脚本的执行顺序,从而模拟真实的用户行为。
四、注意事项
在设置集合点时,需要注意以下几点: 1.集合点名称必须唯一,否则会产生冲突。 2.集合点等待时间的设置要考虑周全,不能设置过长或过短。 3.多个线程到达集合点后,需要经过一定的时间才能继续执行,这个时间与机器性能和网络环境等因素有关,需要合理估计。 4.在测试脚本中使用集合点时,需要关闭jmeter的“调试采样器”功能,否则会干扰集合点的正常运行。
五、总结
jmeter的集合点功能非常实用,可以帮助我们控制测试脚本的并发度和执行顺序。在使用集合点时,需要注意集合点的命名和等待时间的设置,也需要考虑机器性能和网络环境等因素。通过设置集合点,我们可以轻松地模拟真实的用户行为,从而得到更加准确的测试结果。