【问题标题】:Custom Feeder in Gatling加特林的自定义馈线
【发布时间】:2023-03-11 01:40:02
【问题描述】:

我想在 2 个模拟之间共享一些数据,为此我设计了一个使用队列的自定义馈线。

.exec { session =>
            val writer1 = new PrintWriter(new FileOutputStream(outputFilePath, true))
            writer1.write(session("AccountId").as[String] + "," + session("uuid").as[String] + "\n")
            writer1.close();
            session
          }
          .exec {
            session =>
            DequeHolder.DataDeque.offer(Array(session("AccountId").as[String][0],session("uuid").as[String][1]))
            session
          }
      }
  }

  class DataFeeder extends Feeder[String] {
    override def hasNext: Boolean = DequeHolder.DataDeque.size() > 0
    override def next(): Map[String, Array[String]] = Map("data" -> DequeHolder.DataDeque.poll())
  }

这在DequeHolder.DataDeque.offer(Array(session("AccountId").as[String][0],session("uuid").as[String][1])) 行给了我编译问题

有人可以帮忙看看我到底在哪里犯错。

错误:io.gatling.commons.util.TypeCaster[String],evidence$2:scala.reflect.ClassTag[String],evidence$3:io.gatling.commons.NotNothing[String]):String 不接受类型参数。

【问题讨论】:

    标签: scala queue message-queue gatling scala-gatling


    【解决方案1】:

    Feeder[T]Iterator[Map[String, T]] 的别名。

    所以override def next(): Map[String, Array[String]] 是错误的Feeder[String]

    【讨论】:

    • 谢谢。知道我需要改变什么才能使它正确吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多