How to simulate Meteor clients?

Just run:

while [[ 1 ]]; do casperjs your-script.sugar.js; done

That is infinitely

CasperJS might do the job, but I just wanted to throw out a warning against Selenium and Nightwatch for anyone who might try using those for stress (aka load) testing. I got it to work for a while, but when I recently tried to re-run my stress tests they failed for reasons I could not determine.

And I had to summon a lot of horsepower to stress test with Selenium & Nightwatch. Great tools for functional/end-to-end/web tests, but not so much stress tests.

+1 for Meteor Down. Thatā€™s a tool meant for stress testing. You need to be able to quantify your Meteor app workload in terms like pub/sub performance, observer reuse, and method response time. Functional tests are brittle. UI changes break them, timeouts donā€™t always work. PhantomJS is a yet another browser youā€™ll have to support. Your appā€™s API (Meteor methods, publications) is less likely to break in mysterious ways. The interface is more conducive to scripting (as expected).

Youā€™ll miss out on bugs and performance problems resulting from complex client+server interactions (reactivity causing excessive DDP traffic, oversubscription), so just keep that in mind. Kadira usually reveals these types of issues.

Hereā€™s a thread about testing your Meteor app using PhantomJS with your own AWS EC2 instances to test with distributed, headless browser instances that will actually download and test your app using a WebDriver test case. It makes use of a good cloud load tester called www.redline13.com:

https://forums.meteor.com/t/poor-galaxy-meteor-performance-serving-small-bursts-of-users-load-test/38671