Getting the following error in logs while replaying the websocket recorded script
ERROR com.neotys.communication.transport.websocket.client.WebSocketClientTransport - Web Socket client
-----------------------------------------------------------------------------------
2020/08/03 15:36:31 [pool-442-thread-1] ERROR com.neotys.communication.endpoint.CallImpl - com.neotys.nl.agent.transport.AgentServiceLg.handleRequest(75fc5986-3510-4c26-9400-3065e51611c2) error while sending request
java.util.concurrent.ExecutionException: java.io.IOException: Transport has been disconnected
at com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:299)
at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:272)
at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:96)
at com.neotys.communication.endpoint.CallWithTimeoutImpl.callTransport(CallWithTimeoutImpl.java:49)
at com.neotys.communication.endpoint.CallImpl$EndPointHandler.invoke(CallImpl.java:50)
at com.sun.proxy.$Proxy50.handleRequest(Unknown Source)
at com.neotys.nl.controller.ap.a(ap.java:177)
at com.neotys.nl.controller.q.ah.run(ah.java:2915)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: Transport has been disconnected
at com.neotys.communication.endpoint.ResponsesImpl.disconnectTransport(ResponsesImpl.java:47)
at com.neotys.communication.endpoint.EndPointsRegistryImpl.internalTransportDisconnected(EndPointsRegistryImpl.java:226)
at com.neotys.communication.endpoint.EndPointsRegistryImpl.transportDisconnected(EndPointsRegistryImpl.java:218)
at com.neotys.communication.reliable.transport.client.ReliableClientListener.reliableTransportDisconnected(ReliableClientListener.java:68)
at com.neotys.communication.reliable.transport.client.ReliableClientTransportImpl.disconnect(ReliableClientTransportImpl.java:206)
at com.neotys.nl.agent.transport.ControllerTransportApiFactory.closeTransportForEndpoint(ControllerTransportApiFactory.java:273)
at com.neotys.nl.controller.aB.b(aB.java:206)
at com.neotys.nl.controller.aC.run(aC.java:171)
at com.neotys.nl.agent.transport.TransportDownListener.doRun(TransportDownListener.java:26)
at com.neotys.nl.agent.transport.TransportDownListener.transportDestroyed(TransportDownListener.java:21)
at com.neotys.communication.reliable.transport.ReliableTransportLifecycles.fireTransportDestroyed(ReliableTransportLifecycles.java:64)
at com.neotys.communication.reliable.transport.client.ReliableClientTransportImpl.setDeadTransport(ReliableClientTransportImpl.java:223)
at com.neotys.communication.reliable.transport.AbstractReliableTransport.disconnectSilently(AbstractReliableTransport.java:85)
at com.neotys.communication.reliable.transport.client.ReliableClientTransportImpl.disconnectSilently(ReliableClientTransportImpl.java:214)
at com.neotys.communication.reliable.transport.client.ReliableClientListener.transportRemotelyDisconnected(ReliableClientListener.java:51)
at com.neotys.communication.transport.fragments.FragmentClientListener.transportRemotelyDisconnected(FragmentClientListener.java:29)
at com.neotys.communication.transport.websocket.client.WebSocketClientTransport.doDisconnect(WebSocketClientTransport.java:415)
at com.neotys.communication.transport.client.AbstractScheduledServiceClientTransport.shutDown(AbstractScheduledServiceClientTransport.java:196)
at com.google.common.util.concurrent.AbstractScheduledService$1$4.run(AbstractScheduledService.java:227)
at com.google.common.util.concurrent.Callables$3.run(Callables.java:95)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
What is exactly the issue on the user path when you replay your script? What kind of errors do you get?
This stack trace is related to the communication layer transport between controller and LG. It might not be related to your issue that's why please provide the symptom while replaying your user path.
Hi Nouredine. Thank you for your reply. I am working on designing script for websocket application. I am able to customize the script around web socket channel. when I do the Check User Path I am also see the responses. But when I checked logs I am seeing the above error messages.I am confused as the application under test using web sockets for communication.
also appreciate if you could share any best practices to follow while designing script for Web Socket application and designing scenarios and the approach for doing load testing of websockets application
Ok i understand the confusion but this WebSocket trace is not related to your WebSocket application. You maybe had a communication issue between controller and LG at some point. If it was an issue you should have been able to see an error related to that during the checkvu.
Anyway the only user guides available in the NeoLoad documentation regarding WebSocket is here
Basically a WebSocket request does not have a response but instead you will see any response in the WebSocket channel. So it's asynchronus. If you have a need for a websocket request to be synchronus (and so to get response time for it) look at the link above.
No similar question