apiaryio / chrome-extension-ci

How to put a Chrome Extension into CI

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Chrome Extension in Continuous Integration

Build Status

The TDD/BDD Friendly Stack

  • Node.js - Programming Language
  • Mocha - Node.js test frameworks
  • Chai - Node.js test assertion/framework
  • Browserify - To be able unit test everything locally and then inject it into the extension scope
  • Webdriver.io - Node.js bindings and DSL for Selenium
  • selenium-standalone - Node.js wrapper runnnig and fetching the Standalone selenium server and its dependencies (ChromeFriver etc...)
  • ChromeDriver -Selenium driver for commanding Chrome
  • xvfb (for headless Chrome in the CI) - Virtaul frame buffer for X server
  • Travis CI - the CI

Architecture Diagram

How to TDD the unpacked chrome extension locally

  • Add this line to your /etc/hosts
127.0.0.1 localhost fourth.third.second.first third.second.first
  • Install NPM dependecies
$ npm install
  • Install Selenium Drivers
$ npm run selenium-install
  • Spin up the Standalone Selenium Server
$ npm run selenium-start
  • Run the tests suite
$ npm test

External doc

About

How to put a Chrome Extension into CI

License:MIT License


Languages

Language:JavaScript 100.0%