Similar to https://github.com/gatling/gatling/issues/3792, I need to pass a dynamic name to getCookieValue().
The name of the cookie that I need changes with each login user. It is based on an Identity server so the cookie name changes. I need the value of this cookie to pass to the next request. This is for a multi-factor authentication appliction so things are very dynamic.
For example, the cookie name might be SignInMessage.3851c7dfcbe3b962012ea6f4b34cf937 on one request but a different id for the next user. This cookie cannot be read by a static or hard-coded string.
exec(
getCookieValue(
CookieKey(dynamicKey)
.withSecure(true)
.withPath("/identity")
.withDomain(“some.domain”)
.saveAs(“newKey”)
)
)
Is this possible or a new issue?
Thanks,
Lance
Will be featured in next release: https://github.com/gatling/gatling/issues/3857
(no eta yet)
My bad, this is for AddCookie and you want GetCookie.
So yes, this would be a new feature. Contributions welcome (should be pretty easy).
Do you want me to post this to Git Issues or are you going to log one?
Sure, you can open a feature request on Github.
Please also consider contributing the implementation.
I cloned the repo, compiled it, but when I run gatling.sh (after picking the Basic Simulation option) at runtime, it gives the following error:
Choose a simulation number:
[0] computerdatabase.BasicSimulation
[1] computerdatabase.advanced.AdvancedSimulationStep01
[2] computerdatabase.advanced.AdvancedSimulationStep02
[3] computerdatabase.advanced.AdvancedSimulationStep03
[4] computerdatabase.advanced.AdvancedSimulationStep04
[5] computerdatabase.advanced.AdvancedSimulationStep05
0
Select run description (optional)
Simulation computerdatabase.BasicSimulation started…
Uncaught error from thread [GatlingSystem-akka.actor.default-dispatcher-7]: java.nio.ByteBuffer.position(I)Ljava/nio/ByteBuffer;, shutting down JVM since ‘akka.jvm-exit-on-fatal-error’ is enabled for ActorSystem[GatlingSystem]
java.lang.NoSuchMethodError: java.nio.ByteBuffer.position(I)Ljava/nio/ByteBuffer;
at io.gatling.core.util.Longs.writePositiveLongString(Longs.java:95)
at io.gatling.core.stats.writer.BufferedFileChannelWriter.writePositiveLong(LogFileDataWriter.scala:85)
at io.gatling.core.stats.writer.RunMessageSerializer.serialize0(LogFileDataWriter.scala:171)
at io.gatling.core.stats.writer.RunMessageSerializer.serialize0(LogFileDataWriter.scala:163)
at io.gatling.core.stats.writer.DataWriterMessageSerializer.serialize(LogFileDataWriter.scala:156)
at io.gatling.core.stats.writer.LogFileDataWriter.onInit(LogFileDataWriter.scala:301)
at io.gatling.core.stats.writer.LogFileDataWriter.onInit(LogFileDataWriter.scala:292)
at io.gatling.core.stats.writer.DataWriter$$anonfun$1.applyOrElse(DataWriter.scala:47)
at io.gatling.core.stats.writer.DataWriter$$anonfun$1.applyOrElse(DataWriter.scala:43)
at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38)
at akka.actor.FSM.processEvent(FSM.scala:804)
at akka.actor.FSM.processEvent$(FSM.scala:801)
at io.gatling.core.stats.writer.DataWriter.processEvent(DataWriter.scala:29)
at akka.actor.FSM.akka$actor$FSM$$processMsg(FSM.scala:798)
at akka.actor.FSM$$anonfun$receive$1.applyOrElse(FSM.scala:793)
at akka.actor.Actor.aroundReceive(Actor.scala:535)
at akka.actor.Actor.aroundReceive$(Actor.scala:533)
at io.gatling.core.akka.BaseActor.aroundReceive(BaseActor.scala:25)
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:575)
at akka.actor.ActorCell.invoke(ActorCell.scala:545)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:270)
at akka.dispatch.Mailbox.run(Mailbox.scala:231)
at akka.dispatch.Mailbox.exec(Mailbox.scala:243)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
14:21:39.821 [ERROR] a.a.ActorSystemImpl - Uncaught error from thread [GatlingSystem-akka.actor.default-dispatcher-7]: java.nio.ByteBuffer.position(I)Ljava/nio/ByteBuffer;, shutting down JVM since ‘akka.jvm-exit-on-fatal-error’ is enabled for ActorSystem[GatlingSystem]
java.lang.NoSuchMethodError: java.nio.ByteBuffer.position(I)Ljava/nio/ByteBuffer;
at io.gatling.core.util.Longs.writePositiveLongString(Longs.java:95)
at io.gatling.core.stats.writer.BufferedFileChannelWriter.writePositiveLong(LogFileDataWriter.scala:85)
at io.gatling.core.stats.writer.RunMessageSerializer.serialize0(LogFileDataWriter.scala:171)
at io.gatling.core.stats.writer.RunMessageSerializer.serialize0(LogFileDataWriter.scala:163)
at io.gatling.core.stats.writer.DataWriterMessageSerializer.serialize(LogFileDataWriter.scala:156)
at io.gatling.core.stats.writer.LogFileDataWriter.onInit(LogFileDataWriter.scala:301)
at io.gatling.core.stats.writer.LogFileDataWriter.onInit(LogFileDataWriter.scala:292)
at io.gatling.core.stats.writer.DataWriter$$anonfun$1.applyOrElse(DataWriter.scala:47)
at io.gatling.core.stats.writer.DataWriter$$anonfun$1.applyOrElse(DataWriter.scala:43)
at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38)
at akka.actor.FSM.processEvent(FSM.scala:804)
at akka.actor.FSM.processEvent$(FSM.scala:801)
at io.gatling.core.stats.writer.DataWriter.processEvent(DataWriter.scala:29)
at akka.actor.FSM.akka$actor$FSM$$processMsg(FSM.scala:798)
at akka.actor.FSM$$anonfun$receive$1.applyOrElse(FSM.scala:793)
at akka.actor.Actor.aroundReceive(Actor.scala:535)
at akka.actor.Actor.aroundReceive$(Actor.scala:533)
at io.gatling.core.akka.BaseActor.aroundReceive(BaseActor.scala:25)
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:575)
at akka.actor.ActorCell.invoke(ActorCell.scala:545)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:270)
at akka.dispatch.Mailbox.run(Mailbox.scala:231)
at akka.dispatch.Mailbox.exec(Mailbox.scala:243)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Any ideas?
Yeah, you have to compile with Java 8 so you can run with Java 8.
We have a pending solution for this, let me push it.