1. Overview

1.1. What is cross-browser-tests-runner?

It is a tool to help you run cross-browser javascript unit tests and selenium tests on multiple cross-browser testing platforms.

1.2. Why this tool?

This tool was created to test browse.js, with following requirements:

  • Be able to run Jasmine 1.x unit tests to cover oldest browsers not supported by other newer versions or other frameworks like Mocha
  • Be able to send the Jasmine 1.x test data to server that can display it in a popular test results format (Mocha chosen eventually)
  • Be able to collect code coverage data and send to test server that can store it in a widely supported format (lcov) which could be uploaded to any third party code coverage tool/website
  • Be able to run tests in parallel on multiple cross-browser testing platforms e.g. browserstack.com, saucelabs.com, crossbrowsertesting.com to minimize build duration

Existing tools were not able to bring all the above pieces together, as was seen while trying to write the tests, and this tool was born.

1.3. Get Started

  • Install:

    $ npm install cross-browser-tests-runner
  • Quick Start: Get started quickly and see some sample tests running

  • How To Test: See a more detailed description of the testing steps

1.4. References

1.4.1. Configuration Files

  • Platform Configuration: About how and why we store each platform’s supported browser/os configuration locally
  • Browsers YAML: Syntax of specifying browsers for your test
  • Settings: Test settings file serving multiple purposes

1.4.2. Executables

1.4.3. Components

  • Server: Description of the test server
  • Native Runner: Description of the in-built unit and selenium tests runner

1.5. Troubleshooting