hschott / ready-websocket-plugin

Websocket Test Steps Plugin for Ready! API and SoapUI
Apache License 2.0
11 stars 14 forks source link

Error with getting multiple messages in Receive Websocket Message Test Step #5

Closed basardaldal closed 8 years ago

basardaldal commented 8 years ago

I have a "Receive Websocket Message" test step in my test case. It is configured as follows: -Expected message type:Text -Timeout: 10 seconds -Stop after: 5 messages

I expect multiple messages and I have added Assertions according to that. When I make a test, I see only the first message in the text area, "Count" area's value is 1. However I also start a wireshark trace which shows that there are actually 2 messages sent by the server but the 2nd message is not reflected in the Text view and the assertions related with the 2nd expected message fail. I have tried this many times but I don't see the second message, only the 1st message is displayed.

I see the following in the SOAPUI logs:

Wed Feb 03 14:49:45 EET 2016:DEBUG:Connection can be kept alive indefinitely WebSocketConnect success=true accepted protocol= Message has been received within 182 ms - [Receive 200OK test step]

Thanks in advance, Basar

hschott commented 8 years ago

For clarification: 'Timeout', 'Stop After' or 'Assertion (at least one message)' are mutually exclusive. The first occurrence of any one of these events will stop the Receive TestStep. The underling websocket client is also stopped and disconnected but to 'slow' for the incomming second message that was send over the wire. With the websocket protocol there is no possibility for the client to control the message flow like a "next please". Messages arrive as long as the websocket is connected but the Receive TestStep has already ended and will not display that. When designing you test think of a stream of messages where you expect that a message hits all of your assertions in a limited timeframe and/or limited number of messages.