Manual testing? No way!

Stop  -  Wait  -  Automate

JS Quality Assurance

Markup & CSS Quality Assurance

Easy to break, hard to track

Machines should decide!

What we want

  • Testing in different browsers
  • Testing in different viewports
  • Comparing page fragments
  • Manipulate with page before taking screenshot

  • No need to write tests
  • Testing in different states
  • Only full page screenshots
  • Only one browser

  • Fragments
  • Testing in different states
  • Only in PhantomJS
  • Manipulations with page using CasperJS

PhantomFlow - Decision trees
  • Enables a more expressive way of describing user interaction paths within tests
  • Uses PhantomCSS
  • Only in PhantomJS
  • Supports TDD and BDD for web applications and responsive web sites
  • Supports visual regression workflows, quick inspection & rebasing via UI.

  • Great for testing simple applications
  • Declarative description
  • Only in PhantomJS

  • Uses either PhantomJS, CasperJS or SlimerJS
  • Fragments
  • Spider mode

  • Uses Selenium Grid
  • Testing for different browsers in different states
  • Intergration with SauceLabs, BrowserStack
  • Fragments, excludes

  • Compatibility with different browsers
  • Intergration with SauceLabs, BrowserStack
  • Fragments
  • CSS test coverage statistics



  • Use static data
  • CSS Regression Testing is not a replacement of functional JS testing