I am currently working on some software, for which, the front end is being developed using AngularJS.
We would like to incorporate some automated testing into our development lifecycle, so that we can write a test suite, with a number of tests that will be run on the front end every time we add a new feature/ fix a bug/ make changes to either the front or back end, to ensure that everything is still working as expected.
I have done a bit of research, and found a number of testing frameworks available, such as Mocha, Jasmine, Jest, QUnit, Intern & Sinon.
I have not really used automated testing/ testing frameworks much at all in my previous development experience, other than using JUnit briefly while developing in Java at university, as automated testing hasn't been in place in most of the places that I have worked- in some cases, due to the nature of the software being developed (manual testing, rather than automated was a requirement), and environments in which it was used, and in other cases due to the nature of company- small, relatively young, and still establishing methods of best practice, or a small development team within a company in an industry other than IT, etc.
The main purpose of the framework/ library will be to simulate a user's interaction with the software, so clicking links/ buttons/ menus, selecting checkboxes, any other user interaction, and ensuring that the actual effect of the action is identical to the desired effect.
So, my first question is: what should I bare in mind while looking into what testing frameworks we could possibly use? Are there particular features, or other things that some frameworks provide and other don't, which I would definitely want to look out for?
Secondly, how can I best assess which framework/ library is going to be the most appropriate to use for the software we're developing? Is it just a case a picking one and giving it a go? It seems probable that I could waste quite a lot of time doing it this way, as I don't really know where to get started in what I'm looking for.
What questions should I ask about a framework/ library before trying it out? Does anyone have any recommendations for a few libraries that I should try out first?