Jmeter - 在连续过期 10 小时后重新启动会话

Jmeter - restart session after expired continually for 10 hours

我当前环境:JMeter v2.11,远程Oracle 12,JDK7

我有一个浸泡测试要在 Jmeter 中生成,但我不确定如何做我需要的。

基本上 - 我有一个录制的脚本,供 200 个用户登录到 1 个线程组中的 Web 应用程序,但我需要将其持续 10 个小时。

http 会话将在 15 分钟后过期,所以我有点不知道如何在 http 会话过期后重新启动会话。我有一个想法,我在线程组上玩过 'Loop Count' 设置,我用谷歌搜索了一个答案,我在这个论坛上搜索过,但我没有找到任何我能看到的东西相关(尽管我确实找到了非常有趣的东西)。

我目前的工作如下:

Thread Group - Number of Threads --> 200, Ramp Up --> 50, Loop Count ---> 1 --HTTP Request Defaults --HTTP Cookie Manager --Recording Controller ---HTTP Request - Login Page Launched ---HTTP Request - Username Input ---HTTP Request - Password Input ---HTTP Request - Login Button selected ---Some listeners

与我之前的帖子一样 - 我非常感谢任何人可以提供的任何指导。

干杯!

JMeter 的工作原理如下:

它在提供的启动期范围内启动所有定义的虚拟用户(线程)。在您的情况下,这意味着 JMeter 每秒添加 4 个新虚拟用户,持续 200 秒。

每个线程尽可能快地颠倒执行采样器。当采样器完成其工作并且没有更多循环来迭代时,它被关闭。

如果您希望场景 运行 超过 10 小时,请将 "Loop Count" 设置为 "Forever" 并在线程组级别指定 "Duration" 为 36000 秒,如下图所示:

在这种情况下,您将让 200 个并发用户执行定义的采样器 10 小时。

指定测试(或特定测试部分)持续时间的另一个选项是使用 Runtime Controller

如果您不需要 200 个并发用户,而是每秒 200 个请求,以防万一,请查看 Constant Throughput Timer 文档。

此外,JMeter 在协议级别上运行,它实际上不会在输入或单击按钮中键入任何内容,因此我希望您的场景应该如下所示:

  • 打开登录页面 (HTTP GET)
  • 执行登录 (HTTP POST)

希望这对您有所帮助。