Overview
Crosscheck is an open source testing framework for verifying your in-browser javascript. It helps you ensure that your code will run in many different browsers such as Internet Explorer and Firefox, but without needing installations of those browsers. The only thing you need is a Java Virtual Machine.
Because of its unique approach, Crosscheck has many advantages over other testing frameworks that are confined to running inside an actual browser:
Truly Cross Platform
Crosscheck is implemented in 100% pure Java, and does not require a web browser at all. That means it, and tests authored with it, will run anywhere Java runs. So tests targeting Internet Explorer will run just as well on Windows, Linux, and OSX. Developers can test their code against browsers that may not be available on their platform (IE on the Mac, Safari on Windows, etc...)
Test Indepence
A difficult and unavoidable problem which plagues in-browser tests is that the host environment(window, document, etc...) is initialized only once, resulting in an implicit shared fixture, which, if care is not taken to propertly tear down after each test, can easily result in erratic tests. Crosscheck provides a fresh browser environment for each testcase, so that each test is isolated from every other.
Simple Java API
Crosscheck tests can be controlled entirely via a programatic api for configuring, initiating, and reporting the results of tests as they happen. This allows complete control of when and how you initiate tests, as well as the format in which you report results. It could be to a GUI, a text-based console, or even to a machine-readable format such as XML.
This powerful capability also opens the possibility to extend developement tools such as Ant, Eclipse and IntelliJ to quickly run cross browser tests without the nightmare of trying to instantiate and collect results from a browser.
Fully Automatable
Because crosscheck requires nothing more than a JVM, you can automate your tests to run anywhere, anytime, on any platform without human intervention. For example, crosscheck can be used to test multi-browser code on a continuous integration server that doesn't even have a display!
Speed, Speed, Speed
It is well known that the value of a test case increases dramatically as the time needed to run it drops. Crosscheck tests are fast because they require little to no human interaction to start and run, and because they do not incur the overhead of starting up one, let alone multiple browsers.
Crosscheck can run hundreds of multi-browser tests in a matter of seconds, allowing you more time to develop, and less time nitpicking over browser incompatibilities.