• PhantomJS: For headless website testing.

  • Gherkin: A language for documentation and automated testing.

  • Cucumber: It use plain language to run automated testing, cucumber’s feature is written in Gherkin syntax

Given an established state
When an action occurs
Then an assertable state is achieved
  • Chimp: A testing framework integrated with Jasmin, Cucumber.js, Selenium and WebdriverIO.

  • Selenium2.O / Webdriver: testing framework for web application, it provide record/ playback tool. Selenium RC Architecture

Image Credit

  • Webdriverio: A implementation of Selenium, it basically send request to a Selenium server via the WebDriver Wire Protocol and handle the response. – browser: a global variable, through this we can access session and all information using this API
 this.Given(/^I am on "([^"]*)" page$/, function (page) {
   browser.url(common.siteSettings[page]);
 });
  • Jasmin: A BDD library for Javascript, it provide assertion functions, like expect(). – expectation: true or false – spec: passing or falling
describe('Hello world', function() {
  it('says hello', function() {
    expect(helloWorld()).toEqual('Hello world!');
  });
});
  • Mocha: A framework for asynchronous testing.