Home > OS >  Custom Feeder in Gatling
Custom Feeder in Gatling

Time:01-12

I want to share some data between 2 simulation and for that I have a designed a custom feeder using queue.

.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())
  }

this is giving me compilation issue at line DequeHolder.DataDeque.offer(Array(session("AccountId").as[String][0],session("uuid").as[String][1]))

Could someone please help where exactly I am commiting mistake.

Error: io.gatling.commons.util.TypeCaster[String], evidence$2: scala.reflect.ClassTag[String], evidence$3: io.gatling.commons.NotNothing[String]): String does not take type parameters.

CodePudding user response:

Feeder[T] is an alias for Iterator[Map[String, T]].

So override def next(): Map[String, Array[String]] is wrong for Feeder[String].

  •  Tags:  
  • Related