Jasmine specs in Karma/Protractor for overall functional testing: of code/calls/functional groups, of functional flows, and of behavior specifications: so, Unit Testing, E2E testing, Behavior Testing (BDD). Search for headless versions of the browsers you're interested in, and integrate into grunt — but here's a Stack thread on mobile: http://stackoverflow.com/questions/464089/simulators-emulato...
There's a great tool in Firefox to record actions in Selenium, though WebDriver probably isn't adequate for tech like AngularJS templates or even Semantic HTML (which is a moving target, since W3C Standards enable richly complex "pears"[2]).
Semantics[3]; use Fangs-to-Audio[4] to get a "subjective" feel for how your copy sounds to people on screen-readers/assistive tech/devices. Use http://wave.webaim.org/.
Follow schema.org as a normative guide to what Search Engines will likely look for. You can probably automate diffs between semantic markup structures and Web Scrape schema.org to determine how "meaningful" your markup is overall.
As always, believe in Unicorns[5].
[0]: https://www.npmjs.org/package/grunt-screenshot-diff
[1]: http://prezi.com/piifihs2ohet/test-driven-css/
[2]: http://pea.rs/
[3]: http://www.w3.org/2002/08/extract-semantic
[4]: https://addons.mozilla.org/en-US/firefox/addon/fangs-screen-...
as to services, recently started moving to https://www.codeship.io/ for continuous integration testing. though I love it it doesn't 100% cut it for me though as I have some dependencies on Windows, unfortunately.