I am trying to log into a local OpenFire XMPP server through JMeter. I was able to connect but am unable to login as it throws the following Exception from jmeter.log file:
2023-01-16 23:53:07,371 INFO o.a.j.e.StandardJMeterEngine: Running the test! 2023-01-16 23:53:07,371 INFO o.a.j.s.SampleEvent: List of sample_variables: [] 2023-01-16 23:53:07,373 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*) 2023-01-16 23:53:07,414 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : Thread Group 2023-01-16 23:53:07,415 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group Thread Group. 2023-01-16 23:53:07,415 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error 2023-01-16 23:53:07,415 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 delayedStart=false 2023-01-16 23:53:07,424 INFO o.a.j.t.ThreadGroup: Started thread group number 1 2023-01-16 23:53:07,424 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started 2023-01-16 23:53:07,424 INFO o.a.j.t.JMeterThread: Thread started: Thread Group 1-1 2023-01-16 23:54:47,532 ERROR c.b.j.x.JMeterXMPPSampler: Error in XMPP Sampler: org.jivesoftware.smack.SmackException$NoResponseException: null at org.jivesoftware.smack.PacketCollector.nextResultOrThrow(PacketCollector.java:191) ~[smack-core-4.0.7.jar:4.0.7] at org.jivesoftware.smack.PacketCollector.nextResultOrThrow(PacketCollector.java:175) ~[smack-core-4.0.7.jar:4.0.7] at org.jivesoftware.smack.XMPPConnection.bindResourceAndEstablishSession(XMPPConnection.java:535) ~[smack-core-4.0.7.jar:4.0.7] at org.jivesoftware.smack.tcp.XMPPTCPConnection.login(XMPPTCPConnection.java:260) ~[smack-tcp-4.0.7.jar:4.0.7] at com.blazemeter.jmeter.xmpp.actions.Login.perform(Login.java:51) ~[jmeter-plugins-xmpp-1.5.1.jar:?] at com.blazemeter.jmeter.xmpp.JMeterXMPPSampler.sample(JMeterXMPPSampler.java:57) ~[jmeter-plugins-xmpp-1.5.1.jar:?] at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:651) ~[ApacheJMeter_core.jar:5.5] at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:570) ~[ApacheJMeter_core.jar:5.5] at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:501) ~[ApacheJMeter_core.jar:5.5] at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:268) ~[ApacheJMeter_core.jar:5.5] at java.lang.Thread.run(Thread.java:834) ~[?:?] 2023-01-16 23:54:48,447 INFO o.a.j.t.JMeterThread: Thread is done: Thread Group 1-1 2023-01-16 23:54:48,447 INFO o.a.j.t.JMeterThread: Thread finished: Thread Group 1-1 2023-01-16 23:54:48,447 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test 2023-01-16 23:54:48,447 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
I have done debugging and realised that JMeter during the authentication uses STARTTLS, however the local Openfire xmpp server that I am using is http and doesn't use SSL. I have tried disabling SSL by adding server.rmi.ssl.disable=true to my jmeter.properties file, yet it still uses STARTTLS during authentication. How can I change it to SASL? If anyone have faced the same issue and resolved it or have any solution for my problem, please let me know.
CodePudding user response:
I don't think SASL is supported as of XMPP Plugin version 1.5.1, the options are in:
- you either need to amend the plugin source code yourself accordingly
- or if you're a BlazeMeter customer you can request functionality implementation via raising a BlazeMeter Support ticket
- or you can write your own authentication logic in a JSR223 component and replace the connection created by the
bzm - XMPP Connection
with your own instance