[](https://travis-ci.org/nowk/walking-dead.js) [](https://codeclimate.com/github/nowk/walking-dead.js)
npm install walking-dead

Zombies don't like pasta.
npm install walking-dead
Zombie basic:
var Browser = require("zombie");
var assert = require("assert");
// Load the page from localhost
browser = new Browser()
browser.visit("http://localhost:3000/", function () {
// Fill email, password and submit form
browser.
fill("email", "zombie@underworld.dead").
fill("password", "eat-the-living").
pressButton("Sign Me Up!", function() {
// Form submitted, new page loaded.
assert.ok(browser.success);
assert.equal(browser.text("title"), "Welcome To Brains Depot");
});
});
Becomes Walking Dead
var WalkingDead = require('walking-dead');
var assert = require('assert');
new WalkingDead('http://localhost:3000/').zombify({})
.when(function(browser) {
browser.
fill("email", "zombie@underworld.dead").
fill("password", "eat-the-living").
})
.and(function(browser, next) {
browser.pressButton("Sign Me Up!", next);
})
.then(function(browser) {
assert.ok(browser.success);
assert.equal(browser.text("title"), "Welcome To Brains Depot");
});
---
Passing additional agruments to the next step.
new WalkingDead('http://localhost:3000/').zombify({})
.when(function(browser, next) {
var title = browser.text('title');
next(title.toLowerCase());
})
.then(function(browser, lowerCaseTitle, next) {
assert.equal(lowerCaseTitle, '');
next(function() {
done();
});
})
.end(function(browser, fn) {
fn();
});
---
You can also call end to end the session. end returns browser as the first agrument by default, as well as any arguments nexted from the prior step.
new WalkingDead('http://localhost:3000/').zombify({})
.end(function(browser) {
assert.equal(browser.text("title"), "Welcome To Brains Depot");
done();
});
Or
new WalkingDead('http://localhost:3000/').zombify({})
.then(function(browser) {
assert.equal(browser.text("title"), "Welcome To Brains Depot");
})
.end(done);
MIT