0
votes

I am creating a gatling script and trying to parameterize it. I have checked the path of CSV it is correct and CSV is present in the path mentioned in the configuration file. While running the gatling test from local machine getting below error and the test fails.

java.lang.IllegalArgumentException: requirement failed: CSV headers can't be empty
    at scala.Predef$.require(Predef.scala:337)
    at io.gatling.core.feeder.SeparatedValuesParser$.$anonfun$stream$5(SeparatedValuesParser.scala:47)
    at io.gatling.core.feeder.SeparatedValuesParser$.$anonfun$stream$5$adapted(SeparatedValuesParser.scala:46)
    at scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1323)
    at io.gatling.core.feeder.SeparatedValuesParser$.$anonfun$stream$1(SeparatedValuesParser.scala:46)
    at io.gatling.core.feeder.SeparatedValuesFeederSource.$anonfun$feeder$1(FeederSource.scala:118)
    at scala.util.Using$.resource(Using.scala:261)
    at io.gatling.core.feeder.SeparatedValuesFeederSource.applyBatch$1(FeederSource.scala:117)
    at io.gatling.core.feeder.SeparatedValuesFeederSource.feeder(FeederSource.scala:125)
    at io.gatling.core.feeder.SourceFeederBuilder.apply(FeederBuilder.scala:81)
    at io.gatling.core.feeder.SourceFeederBuilder.apply(FeederBuilder.scala:50)
    at io.gatling.core.action.builder.FeedBuilder.newFeedActor(FeedBuilder.scala:38)
    at io.gatling.core.action.builder.FeedBuilder.$anonfun$build$1(FeedBuilder.scala:43)
    at scala.collection.mutable.MapOps.getOrElseUpdate(Map.scala:146)
    at scala.collection.mutable.MapOps.getOrElseUpdate$(Map.scala:143)
    at scala.collection.mutable.AbstractMap.getOrElseUpdate(Map.scala:265)
    at io.gatling.core.action.builder.FeedBuilder.build(FeedBuilder.scala:43)
    at io.gatling.core.structure.BuildAction.$anonfun$build$1(BuildAction.scala:28)
    at scala.collection.LinearSeqOps.foldLeft(LinearSeq.scala:169)
    at scala.collection.LinearSeqOps.foldLeft$(LinearSeq.scala:165)
    at scala.collection.immutable.List.foldLeft(List.scala:79)
    at io.gatling.core.structure.BuildAction.build(BuildAction.scala:27)
    at io.gatling.core.structure.BuildAction.build$(BuildAction.scala:26)
    at io.gatling.core.structure.ScenarioBuilder.build(StructureBuilder.scala:51)
    at io.gatling.core.structure.PopulationBuilder.build(PopulationBuilder.scala:100)
    at io.gatling.core.scenario.SimulationParams.buildScenario(Simulation.scala:170)
    at io.gatling.core.scenario.SimulationParams.$anonfun$scenarios$1(Simulation.scala:174)
    at scala.collection.immutable.List.map(List.scala:246)
    at io.gatling.core.scenario.SimulationParams.scenarios(Simulation.scala:174)
    at io.gatling.app.Runner.run0(Runner.scala:79)
    at io.gatling.app.Runner.run(Runner.scala:49)
    at io.gatling.app.Gatling$.start(Gatling.scala:83)
    at io.gatling.app.Gatling$.fromMap(Gatling.scala:40)
    at Engine$.delayedEndpoint$Engine$1(Engine.scala:11)
    at Engine$delayedInit$body.apply(Engine.scala:4)
    at scala.Function0.apply$mcV$sp(Function0.scala:39)
    at scala.Function0.apply$mcV$sp$(Function0.scala:39)
    at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:17)
    at scala.App.$anonfun$main$1(App.scala:76)
    at scala.App.$anonfun$main$1$adapted(App.scala:76)
    at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
    at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
    at scala.collection.AbstractIterable.foreach(Iterable.scala:919)
    at scala.App.main(App.scala:76)
    at scala.App.main$(App.scala:74)
    at Engine$.main(Engine.scala:4)
    at Engine.main(Engine.scala)

Not sure why test is failing any suggestion would be helpful.

1

1 Answers

0
votes

Got the solution. I was referring to the csv and for one of the column the header name was not defined. After removing the value without header name in csv file the test ran successfully.