HTML and CSS Reference
Crosscheck is one of the early headless testing frameworks. It provides a Java backed
emulation of Internet Explorer 6 and Firefox versions 1.0 and 1.5. Needless to say,
Crosscheck is lagging behind, and its choice of browsers are unlikely to help develop
Test, the difference being that they can be run on the command line with the
Crosscheck jar file rather than in a browser.
3.3.2 Rhino and env.js
env.js is a library originally developed by John Resig, creator of the jQuery
the env.js library together with Rhino means we can load and run in-browser tests
on the command line.
3.3.3 The Issue with Headless Test Runners
Although the idea of running tests on the command line is exciting, I fail to recognize
the power of running tests in an environment where production code will never run.
engine (usually Rhino) is an altogether different one as well.
Relying on a testing framework that simply emulates the browser is bad for a
few reasons. For one, it means tests can only be run in browsers that are emulated
by the testing framework, or, as is the case for solutions using Rhino and env.js, in
an alternate browser and DOM implementation altogether. Limiting the available
testing targets is not an ideal feature of a testing framework and is unlikely to help
is emulating perfectly. Microsoft probably proved this best by providing an Internet
Explorer 7 emulation mode in IE8, which is in fact not an exact match of IE7.
Luckily, we can get the best from both worlds, as we will see next, in Section 3.4,
One Test Runner to Rule Them All.
The problem with in-browser testing frameworks is that they can be cumbersome to
work with, especially in a test-driven development setting where we need to run tests
continuously and integrated into the workflow. Additionally, testing on a wide array
of platform/browser combinations can entail quite a bit of manual work. Headless