Option 1: Selenium
Pro: Functionally, this is our best real-world test - this can load our actual AngularJS UI in an actual browser (i.e. firefox, chrome, etc)
Con:There is a slight chance that the macros can break any time we move any elements, even if only slightly, as recording macros in this way is very fragile.
Aside: It would be less fragile, yet more work, to properly implement E2E testing in AngularJS using protractor (via
Option 2: felt
Pro: Actually loads client-side JS code in a browser.
Con: Browser used to execute the tests is headless (PhantomJS), so we don't get the full render time that we would from a true browser.
Option 3: boom / hey / JMeter
This is a great test of the server's load
Pro: A widely-accepted way to test server-side load with plenty of options and alternatives available
Each of these methods has their drawbacks, and none would be perfect (save for true E2E automation via
NDS-157, which would take much more effort to complete).
This ticket is complete when we have taken a shallow dive into each of the above options and chosen the most desirable option, assuming an October deadline for beginning to admit live users into the Labs Workbench Beta.