Headless BDD
Shashikant Jagtap
Twitter: @Shashikant86
Blogs: http://shashikantjagtap.net
Disclaimer: The opinions expressed here represent my
own/personal views and not those of my current employer
or previous employers
Topics

BDD Tools + Test Frameworks + Drivers

Benefits of using Headless Drivers with
BDD tools

Zombie and Phantomjs

Demo Behat + Mink + Zombie

Demo Cucumber + Capybara + Poltergeist
Hashtag #TesterGathering
BDD

BDD Tools [ Behat, Cucumber]

Web Acceptance Testing Frameworks
[Mink, Capybara]

Drivers [Selenium, Watir, RakeTest,
Goutte, Zombie, Phantomjs etc etc]
Browser Vs Headless

There are few drivers which pop up
browser to run scenarios
e.g Selenium, WebDriver, Watir

There are some which don't have real
browsers but they are headless
browsers
e.g Phantomjs, Zombie
Why Headless?

Fast

No XVFB, X11, XVNC etc etc on Linux
servers

HTTP, Cookies and Network Traffic

Screenshots and JavaScript execution

Error Detections on Page [JS Error]

Debug Options
Zombie

Headless Driver with full support to
JavaScript

Uses Node.js, NPM, C++ Compiler &
Python

Installation: OSX [Xcode, HomeBrew]
 GitHub: https://github.com/assaf/zombie
PhantomJS

PhantoJS is Headless Webkit with full
JavaScript support.

Multipurpose

Install on Mac OSX
$ brew install phantomjs

Website: http://phantomjs.org/index.html
Headless BDD Live Demo

Behat + Mink + Zombie
GitHub:
https://github.com/Shashikant86/Behat-Zombie

Cucumber + CapyBara + Poltergeist
GitHub:
https://github.com/Shashikant86/Poltergeist-Demo
THANK YOU
THANK YOU

Headless BDD

  • 1.
    Headless BDD Shashikant Jagtap Twitter:@Shashikant86 Blogs: http://shashikantjagtap.net Disclaimer: The opinions expressed here represent my own/personal views and not those of my current employer or previous employers
  • 2.
    Topics  BDD Tools +Test Frameworks + Drivers  Benefits of using Headless Drivers with BDD tools  Zombie and Phantomjs  Demo Behat + Mink + Zombie  Demo Cucumber + Capybara + Poltergeist Hashtag #TesterGathering
  • 3.
    BDD  BDD Tools [Behat, Cucumber]  Web Acceptance Testing Frameworks [Mink, Capybara]  Drivers [Selenium, Watir, RakeTest, Goutte, Zombie, Phantomjs etc etc]
  • 4.
    Browser Vs Headless  Thereare few drivers which pop up browser to run scenarios e.g Selenium, WebDriver, Watir  There are some which don't have real browsers but they are headless browsers e.g Phantomjs, Zombie
  • 5.
    Why Headless?  Fast  No XVFB,X11, XVNC etc etc on Linux servers  HTTP, Cookies and Network Traffic  Screenshots and JavaScript execution  Error Detections on Page [JS Error]  Debug Options
  • 6.
    Zombie  Headless Driver withfull support to JavaScript  Uses Node.js, NPM, C++ Compiler & Python  Installation: OSX [Xcode, HomeBrew]  GitHub: https://github.com/assaf/zombie
  • 7.
    PhantomJS  PhantoJS is HeadlessWebkit with full JavaScript support.  Multipurpose  Install on Mac OSX $ brew install phantomjs  Website: http://phantomjs.org/index.html
  • 8.
    Headless BDD LiveDemo  Behat + Mink + Zombie GitHub: https://github.com/Shashikant86/Behat-Zombie  Cucumber + CapyBara + Poltergeist GitHub: https://github.com/Shashikant86/Poltergeist-Demo
  • 9.
  • 10.