运行 jmeter 中特定采样器的间隔
Running specific sampler in jmeter in intervals
我正在 运行在 jmeter 中进行负载测试。我有 login 服务和一个要测试的 serviceX 。我想要 Authtoken 从登录服务到 运行 serviceX。令牌每分钟过期一次。目前我在同一个线程组中有登录服务并且 运行ning 与 serviceX 一样多。我不想继续这个。我想 运行 在单线程中每分钟登录一次服务,并将令牌传递给 serviceX 和 ServiceX 运行 定义的线程数和时间。如何实现?
使用Once Only Controller来实现。此控制器仅执行一次内部请求 per thread
并在测试计划的进一步迭代期间传递其下的任何其他请求。
因此,您可以将登录服务放在 Once Only Controller 内,serviceX
放在控制器外。您必须为迭代相应地配置您的线程组,或者您可以将您的 serviceX
包装在 Loop Controller 下。
示例:
说,你只想 login
你的第一个线程一次,然后想 运行 serviceX
10 次,下面是测试计划示例:
请记住,因为您希望每分钟登录一次,并且一旦唯一的控制器在每个线程上工作,所以您必须相应地使用 rampup 线程组。假设,有2个线程,每1分钟登录一次,那么线程组配置如下:
现在,如果您想在第一个线程登录后 运行 您的 serviceX
5 次,请将您的 serviceX
置于循环控制器范围内,并将循环计数值设为 5
这是这个样本测试计划的结果:
希望对您有所帮助!
如果您在所有线程(虚拟用户)中只使用一个令牌,则添加另一个 Thread Group with 1 thread and infinite number of loops to your Test Plan and add a HTTP Request sampler to it along with the relevant Post-Processor to extract the token. Also add a Constant Timer 以在请求之间添加暂停是有意义的,即使用 55000
毫秒作为线程延迟值。
获得令牌后,您可以通过 __setProperty() function
将其转换为 JMeter 属性
在您的 "main" 线程组中,您可以使用 __P() function
读取当前令牌值
我正在 运行在 jmeter 中进行负载测试。我有 login 服务和一个要测试的 serviceX 。我想要 Authtoken 从登录服务到 运行 serviceX。令牌每分钟过期一次。目前我在同一个线程组中有登录服务并且 运行ning 与 serviceX 一样多。我不想继续这个。我想 运行 在单线程中每分钟登录一次服务,并将令牌传递给 serviceX 和 ServiceX 运行 定义的线程数和时间。如何实现?
使用Once Only Controller来实现。此控制器仅执行一次内部请求 per thread
并在测试计划的进一步迭代期间传递其下的任何其他请求。
因此,您可以将登录服务放在 Once Only Controller 内,serviceX
放在控制器外。您必须为迭代相应地配置您的线程组,或者您可以将您的 serviceX
包装在 Loop Controller 下。
示例:
说,你只想 login
你的第一个线程一次,然后想 运行 serviceX
10 次,下面是测试计划示例:
请记住,因为您希望每分钟登录一次,并且一旦唯一的控制器在每个线程上工作,所以您必须相应地使用 rampup 线程组。假设,有2个线程,每1分钟登录一次,那么线程组配置如下:
现在,如果您想在第一个线程登录后 运行 您的 serviceX
5 次,请将您的 serviceX
置于循环控制器范围内,并将循环计数值设为 5
这是这个样本测试计划的结果:
希望对您有所帮助!
如果您在所有线程(虚拟用户)中只使用一个令牌,则添加另一个 Thread Group with 1 thread and infinite number of loops to your Test Plan and add a HTTP Request sampler to it along with the relevant Post-Processor to extract the token. Also add a Constant Timer 以在请求之间添加暂停是有意义的,即使用 55000
毫秒作为线程延迟值。
获得令牌后,您可以通过 __setProperty() function
将其转换为 JMeter 属性在您的 "main" 线程组中,您可以使用 __P() function
读取当前令牌值