> JMeter was originally designed for testing HTTP servers. It has since been
expanded to test other request/response servers.
> The current samplers are all effectively synchronous.
> It is not clear how or whether it could be extended to deal with
asynchronous testing. Sorry I can't be more specific.
Ok, here is my plan
Use case: I need to make users from predefined list to chat with each other.
Each user needs a persistent connection to the server.
The test client must
1) Login
2) Maintain the session (must be able to answer PING messages in certain
timeout)
3) Send messages to other logged in test clients
4) See if message replies ever arrive
Basically, I need to have per thread state variables and I must be able to
use those state variables in assertations to check if we have received a
response. If I can have per-thread state variables, I might be have
per-thread stateful connection objects too (maintain the connection over
many input messages).
Also, I need to have some kind of timestamps to wait for responses, so my
branching code can check if we receive a certain message of n possible
messages in certain timeout.
My plan (pseudo test plan)
2. Create a SIP Login request
- Fetch username and password from login pool (SIPUsersPool, Config
element?)
- Mark this user as logged into pool so it can be used for the instant
messaging
3. Loop here
3.1. Create a SIP sampler
- Get the latest message from opened SIP pipe (Is Jmeter able to keep
per-thread connections open?)
3.2. Branch
3.2.1. If the message is PING message send SIP response PONG (keep alive)
3.2.2. If the message is instant messaging message send SIP response
RECEIVED
3.2.3. If the message is RECEIVED (confirm succesful instant message,
originated by this client) set response_received = True
3.3 Wait some random time
3.4. If we previously have send IM (send_message = true) and some time has
passed since sending (now > send_message_timestamp + delay) assert that
response_received = True, otherwise looks like our communication channel has
failed
3.5. Get random user from logged in pool and send instant messaging for him
(send_message = true, send_mesage_timestamp = now)
3.6. Wait some random time
Do you think this would be feasible with Jmeter?
-Mikko
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]