Take the 2-minute tour ×
Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. It's 100% free, no registration required.

JavaScript is everywhere right now. With the advent of jQuery and other associated JavaScript frameworks it's amazingly simple to add very powerful user interactions to web sites and web applications. However, with the addition of JavaScript and AJAX the movement away from HTTP and into a more asynchronous pattern has created new challenges.

Certainly you could use, Selenium. But what other frameworks have people used? I'm currently interested in things like:

share|improve this question

4 Answers 4

I think qUnit is a popular test framework for javascript, though I haven't used it personally. jQuery uses it, though: http://docs.jquery.com/Qunit

share|improve this answer

I would recommend you taking a look at Jasmine if you like BDD style testing/specifications. Seems to be growing in popularity as well. There are a couple of screencasts on using Jasmine available on the net so you should have no trouble getting started. Check it out at: http://pivotal.github.com/jasmine/

share|improve this answer

I've been using zombie.js for headless testing. Unfortunately, it doesn't have all the nice stuff like Spies in Jasmine, but you might be able to use jasmine-node if you need that.

share|improve this answer

Why do you want to do headless testing? Is it purely due to the environment (such as I want to be able to run some automated tests on a build server that does not have a graphical subsystem)?

Regardless of the answer to the above, whatever solution you choose, the final target environment should shape your answer. For example, you could use the HtmlUnit WebDriver (http://htmlunit.sourceforge.net/). For my purposes, however, I would not consider using it since the underlying javascript engine is Rhino and none of my supported browsers use the Rhino engine. As such, any failures (or for that matter successful tests) will need an extra step to determine whether the failure is due to the java script engine used by the tool or due to a failure in the code or some combination of the two.

While not having a list of tools available for these engines, consider the tools that use the following engines if your target environment are in these browsers:

  • Chrome - V8 JavaScript engine
  • Firefox - Gecko JavaScript engine
  • IE9 - Chakra
  • Safari - WebKit

For testing these engines, I prefer to use the browser using Selenium.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.