tilln / jmeter-iso8583

ISO8583 Plugin for JMeter
MIT License
62 stars 32 forks source link

ISO Connection Configuration is not picking variable names configured from csv dataset config #61

Closed suresh-pandi closed 1 year ago

suresh-pandi commented 1 year ago

ISO Connection Configuration is not picking the JMeter variables when configured via CSV Data set config

IP address and port number was given in a text file and configured in CSV Data set config In CSV Data set config variable names declared for ipaddress and port number

On providing the variable names in the ISO Connection configuration getting the following error in JMeter.log

2023-01-28 13:54:50,551 WARN n.c.b.j.i.Q2: (org.jpos.q2.iso.ChannelAdaptor) hostname can't be null 2023-01-28 13:54:51,551 WARN n.c.b.j.i.Q2: (org.jpos.q2.iso.ChannelAdaptor) channel-sender-jmeter-16972317-send 2023-01-28 13:54:51,551 WARN n.c.b.j.i.Q2: (org.jpos.q2.iso.ChannelAdaptor) hostname can't be null

Expected behavior ISO Connection configuration should pick the values from JMeter variables if it is configured via CSV Data set. Variable names given in Test Plan is working, only CSV Data set config is giving errors.

Screenshots CSV Dataset Config image

ISO Connection Configuration & Log image

Logs jmeter.log

JMX file: ISO_Bug.zip

tilln commented 1 year ago

Thanks @suresh-pandi for reporting this.

Unfortunately, what you describe as expected behaviour is not feasible to implement. This is due to the fact that the jPOS Q2 components that the ISO8583 Connection Configuration represents are initialized and connected at the time the JMeter test starts but before the JMeter threads are started. So when the JMeter variables are populated, as in your case from the CSV file, the connection has already have to be established so that ISO messages can be sent and received over that connection. Changing the host/port at that time, dynamically, is not possible, or at least not easily at all. Keeping persistent connections may be another reason.

What I'd suggest in your case as a workaround is the following: For each host/port in your CSV data set create a separate ISO8583 Connection Configuration and give it a distinct "Connection Reference/Identifier". Then list those identifiers in a CSV data set. Finally, use a JMeter variable from that CSV in the ISO8583 Samplers "Connection Reference/Identifier" to dynamically select one of those established connections.

Please report back if this works for you or if you need further help.

github-actions[bot] commented 1 year ago

This issue is stale because it has been open for 30 days with no activity.

github-actions[bot] commented 1 year ago

This issue was closed because it has been inactive for 14 days since being marked as stale.