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