首页 > 解决方案 > 加特林模拟未终止

问题描述

我创建了一个 Gatling 模拟脚本,它首先执行记录器生成的一些请求。在此之后,它执行一个启动另一个线程的自定义操作,因为涉及到阻塞方法。

我现在的问题是模拟没有终止。即使请求在一开始只执行一次,我仍然不断收到状态报告,说有一个活动用户。此外,如果我在自定义操作之后添加更多请求,它们将不会被执行。

我怎样才能解决这个问题?

编辑

这是我的自定义操作:

class RegisterAction extends Action {

  override def execute(session: Session): Unit = CustomInboxRunner.startInboxRunner("usermail", "pw")

  override def name: String = "RegisterAction"
}

这是模拟脚本的相关摘录:

object ClickConfirmationLink {
  val action = new ActionBuilder {
    override def build(ctx: ScenarioContext, next: Action): Action = new RegisterAction
  }
  val pause = new PauseBuilder(1000 millis, None)
  val confirm = new ChainBuilder(List(action, pause))
}

val scn = scenario("UserRegistration").exec(Register.register, ClickConfirmationLink.confirm)

setUp(scn.inject(atOnceUsers(1))).protocols(httpProtocol)

CustomInboxRunner.startInboxRunner(...)是一种启动新线程的 Java 方法。

标签: scalagatlingscala-gatling

解决方案


推荐阅读