karate: Incompatibility with newest Gatling 3.4.x

After upgrading to gatling 3.4.x on our side, we noticed that karate-gatling tests are now crashing.

Here is the stacktrace:

15:41:41.365 [main] ERROR io.gatling.app.Gatling$ - Run crashed
java.lang.NoSuchMethodError: io.gatling.core.protocol.ProtocolComponents$.NoopOnStart()Lscala/Function1;
        at com.intuit.karate.gatling.KarateComponents.onStart(KarateProtocol.scala:38)
        at io.gatling.core.protocol.ProtocolComponentsRegistry.$anonfun$onStart$1(Protocol.scala:79)
        at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:285)
        at scala.collection.mutable.HashMap$$anon$2.$anonfun$foreach$3(HashMap.scala:158)
        at scala.collection.mutable.HashTable.foreachEntry(HashTable.scala:237)
        at scala.collection.mutable.HashTable.foreachEntry$(HashTable.scala:230)
        at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:44)
        at scala.collection.mutable.HashMap$$anon$2.foreach(HashMap.scala:158)
        at scala.collection.TraversableLike.map(TraversableLike.scala:285)
        at scala.collection.TraversableLike.map$(TraversableLike.scala:278)
        at scala.collection.AbstractTraversable.map(Traversable.scala:108)
        at io.gatling.core.protocol.ProtocolComponentsRegistry.onStart(Protocol.scala:79)
        at io.gatling.core.structure.PopulationBuilder.build(PopulationBuilder.scala:104)
        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:293)
        at io.gatling.core.scenario.SimulationParams.scenarios(Simulation.scala:174)
        at io.gatling.app.Runner.run0(Runner.scala:82)
        at io.gatling.app.Runner.run(Runner.scala:52)
        at io.gatling.app.Gatling$.start(Gatling.scala:80)
        at io.gatling.app.Gatling$.fromArgs(Gatling.scala:45)
        at io.gatling.app.Gatling$.main(Gatling.scala:37)
        at io.gatling.app.Gatling.main(Gatling.scala)
Exception in thread "main" java.lang.NoSuchMethodError: io.gatling.core.protocol.ProtocolComponents$.NoopOnStart()Lscala/Function1;
        at com.intuit.karate.gatling.KarateComponents.onStart(KarateProtocol.scala:38)
        at io.gatling.core.protocol.ProtocolComponentsRegistry.$anonfun$onStart$1(Protocol.scala:79)
        at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:285)
        at scala.collection.mutable.HashMap$$anon$2.$anonfun$foreach$3(HashMap.scala:158)
        at scala.collection.mutable.HashTable.foreachEntry(HashTable.scala:237)
        at scala.collection.mutable.HashTable.foreachEntry$(HashTable.scala:230)
        at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:44)
        at scala.collection.mutable.HashMap$$anon$2.foreach(HashMap.scala:158)
        at scala.collection.TraversableLike.map(TraversableLike.scala:285)
        at scala.collection.TraversableLike.map$(TraversableLike.scala:278)
        at scala.collection.AbstractTraversable.map(Traversable.scala:108)
        at io.gatling.core.protocol.ProtocolComponentsRegistry.onStart(Protocol.scala:79)
        at io.gatling.core.structure.PopulationBuilder.build(PopulationBuilder.scala:104)
        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:293)
        at io.gatling.core.scenario.SimulationParams.scenarios(Simulation.scala:174)
        at io.gatling.app.Runner.run0(Runner.scala:82)
        at io.gatling.app.Runner.run(Runner.scala:52)
        at io.gatling.app.Gatling$.start(Gatling.scala:80)
        at io.gatling.app.Gatling$.fromArgs(Gatling.scala:45)
        at io.gatling.app.Gatling$.main(Gatling.scala:37)
        at io.gatling.app.Gatling.main(Gatling.scala)

In this commit as part of Gatling 3.4.x we see that NoopOnStart was replaced by Session.identity, the former of which is referenced here.

Any plans to uptake/support the new Gatling release?

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 19 (9 by maintainers)

Most upvoted comments

@cba64 ha ha, very funny. the reason I point people to the submit-issue page is because comparing your code with the current version of the reference-example is the fastest way to solve issues, but hey - to each his / her own

p.s. this is an oss project, PR-s for the documentation are most welcome

@sixdouglas tested your branch, tests are working now! Thanks fo the quick turnaround

@ptrthomas I saw this issue was tagged with the 1.0.0 milestone. Any chance we could get a closer patch release (e.x. 0.9.7)?