When comparing Zombie.js vs NW.js (w/xvfb), the Slant community recommends NW.js (w/xvfb) for most people. In the question“What are the best headless browsers for testing?” NW.js (w/xvfb) is ranked 3rd while Zombie.js is ranked 4th. The most important reason people chose NW.js (w/xvfb) is:
The integration of Node with the DOM in NW.js opens up a number of new options in how your headless testing workflow can be facilitated. The distinct separation of JavaScript contexts, the introduction of a separate node context, and the ability to cross communicate, offers a lot of power and flexibility.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Runs on Node.js
Zombie is built on node.js, making it very easy to integrate with your project and into your testing toolchain. It only requires JavaScript to run.
Pro Fully featured api based interaction and assertion
The way the api is built makes it very easy to add to your test framework.
Pro Claims to be "Insanely Fast"
It's a lot faster than fully fletched browsers and a lot lighter. Partly because it really only focuses on headless loading of pages along with their JavaScript (not taking really care of rendering or more visual resources).
Pro Node integration
The integration of Node with the DOM in NW.js opens up a number of new options in how your headless testing workflow can be facilitated.
The distinct separation of JavaScript contexts, the introduction of a separate node context, and the ability to cross communicate, offers a lot of power and flexibility.
Pro NaCl support/integration
Access to the Native Client offers up more options in implementing your testing workflow.
Cons
Con Support has waned
As of August 19, 2016, Zombie hasn't received a commit since January 2016. Issues get comments like "patch welcome".
Con Stale documentation
Full API documentation has been missing since the start, making it frustrating to use.
Con Fails to load many sites
As its JavaScript and DOM engine are mostly "just good enough" and because by design it'll report all errors and stop there, many complex sites will not load properly through Zombie.js.
Con No screen-shot
As it doesn't render the page, you cannot get a screenshot to for testing or reporting test failures.
Con xvfb Requirement (for now)
Headless is on the NW.js roadmap, but for now xvfb is necessary to get going. The community has done the work and you can find the details here.