I'm looking for advice on the best way to test (via automation) an angular web app.
I've dug around on a lot of sites looking at what other people are doing. I've also set up a framework and coded a short suite of tests in Selenium/Jasmine/Protractor, which actually worked great. Until... I needed to integrate it into our CI builds headlessly. I tried PhantomJS, and while it occassionally runs to completion, it's incredibly buggy and unreliable for this task, or with this stack, or both. ;-).
I'm willing to change my stack and re-code a bit (we're not that deep into dev'ing) if I know I can meet the following parameters (in order of priority):
- The code will run headlessly on our CI server, which is Win with TeamCity (we may port this to a Mac, so if it ran on that too... bonus points)
- The code will run locally on my win box with major browsers
- The code will run on Browserstack/Saucelabs (this is somewhat optional)
I have literally spent numerous days trying to get Phantom to play nice. The concept is great, but the support appears questionable, as does the implementation and followup. I have also hit multiple lists of headless browsers and none of them seem to meet what I need (though I have not actually tried any others, as of yet... I wanted to post this request for advice first).
So, is there a way to do this that will be reliable (at least as reliable as the code I write, that's really all I ask) and scalable across my requirements above?
I'm pretty new at testing angular sites, and to JS, and am completely open to any/all suggestions. Your thoughts are greatly appreciated. -- brent