Testing user interaction of 2 or more different users

Hi there,

Currently we are stuck during our testing phase for a application.
We need to test the interaction between 2 different users, who both need to log in on the same host and perform some tests.

Just to clarify, I am looking to control 2 browsers at the same time, not yet looking into parallel testing or testing different drivers.

So this test has to go along the lines of this:
User 1:
log in,
wait for matchmaking to find other user,
Start chat with other user,
Exchange messages,
kick user

And the same goes for user 2:
log in,
find match with user 1,
start chat,
exchange messages,
get kicked by user 1,
search for new user.

How would I be able to test those functions? From what I’ve read and seen all tests done with velocity are with a single user. Is anyone able to send me in the right direction on what to do?
If we get this to work we can start working on using more then 2 users, so if you got any idea on how to scale this test with more users and different matchmaking, let me know.

Thanks in advance!

Anyone that has a solution for this? As I still haven’t found an answer unfortunately.

Constantly login and logout?

Currently we are doing the tests manually indeed, but we want to automate it, and in the end test it with like 20-30 automated test users.

Are you doing performance testing if you need that many users?

What I suggested was just:

Login as A
Send message to B
Logout
Login as B
Read message
Send reply to A
Login as A
Read reply from B

etcetera

As I always test based on package, so I would split it to DDP interaction and that standard velocity browser tests for 1 user.
And for calling DDP stuff in bulk we have https://github.com/meteorhacks/meteor-down