Skip to content
This repository has been archived by the owner on Oct 10, 2021. It is now read-only.
/ zuul Public archive

[UNMAINTAINED] multi-framework javascript browser testing

Notifications You must be signed in to change notification settings

defunctzombie/zuul

Repository files navigation

*/!\ This software is not maintained and was not updated for several years, if you want to do browser testing we recommend you use different tools. Which ones? I have no idea but if you do, please open a PR so we can list them here /!*

[DEPRECATED] zuul Build Status

Zuul is an easy way to test your javascript in browsers. Start testing your code in seconds locally and move to cloud based browsers seamlessly for better coverage.

Zuul is different than other cross browser test runners in its simplicity and ability to easily run your test suite in many browsers without having them installed locally. It lets you iterate quickly during development and provide good browser coverage before release without worrying about missing a supported browser.

Don't just claim your js supports "all browsers", prove it with tests!

If you are looking for the edge routing service named Zuul that is related to Netflix, it can be found here: https://github.com/Netflix/zuul

If you are looking for the OpenStack related test automation tool that is also named Zuul, you can find it here: https://docs.openstack.org/infra/zuul/feature/zuulv3/

zuul

Zuul workflow

Zuul works out of the box with a few commonly used javascript frameworks (qunit, mocha, tape, jasmine). If you are already testing using these, zuul setup will be trivial.

Zuul has 3 modes of operation: locally, cloud browsers, and continuous integration. You should make sure that zuul is working locally before you try to run the other two.

Once you have installed zuul proceed to the quickstart to write your first test.

Running zuul locally

When iterating on your tests during development, simply use zuul --local mode to see your tests run in a browser.

local zuul

See the quickstart page on the wiki for more details.

Cross browser testing via Saucelabs

The reason we go through all this trouble in the first place is to seamlessly run our tests against all those browsers we don't have installed. Luckily, saucelabs runs some browsers and we can easily task zuul to test on those.

testing in the cloud

See the cooking with sauce wiki page to get your tests running in the cloud.

Continuous integration

No testing setup would be complete without a badge for passing or failing tests. After making sure your tests all pass in the cloud from your local machine, we will configure our tests to pass from travis-ci when we commit changes.

local zuul

See the travis-ci integration wiki page.

Frameworks

The following frameworks are supported:

  • mocha (tdd, qunit, and bdd flavors)
  • tape
  • qunit
  • jasmine

Examples

See the examples directory for some simple tests. Use the above knowledge to test the examples with your install of zuul.

All of the examples can be tested locally by running the following command in each example directory.

zuul --local 8080 -- test.js

zuul.yml

The zuul consumes a yaml config file. See the zuul.yml wiki page for all of the goodies this file provides.

It includes advanced usage like how to run an additional server to support tests that make ajax requests.

License

MIT

Credits

This project is made possible by all the awesome modules it uses. See the package.json file for all the awesome.