It should ideally (in rough order of priority):
- facilitate the repeated testing of user interface elements such as complicated forms*
- be as simple as possible to create new tests
- output it's results in a place which is nicely formatted or is easy to format
- support the test driven development paradigm
- fit in with the good parts, as described by Douglas Crockford
- play nicely with popular tools such as angular, ember, meteor and backbone.
This is a a lot of 'nice to haves', consider it as an ideal wishlist, the best solution will hit as many of these as possible.
Where it runs from is not an issue really, assume the developer is at the level where they are well versed in OOP / js etc. and at a level to seriously tackle more advanced concepts like TDD.
*a real world example of where i see huge productivity gains could be acheived is a form with at least thirty fields at work that was tested manually ~1000 or more times - this is what I mean by testing user interface elements