• This repository has been archived on 10/Oct/2021
  • Stars
    star
    958
  • Rank 47,718 (Top 1.0 %)
  • Language
    JavaScript
  • Created almost 12 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

[UNMAINTAINED] multi-framework javascript browser testing

*/!\ 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.

More Repositories

1

package-browser-field-spec

Spec document for the 'browser' field in package.json
436
star
2

form-serialize

serialize html forms
JavaScript
399
star
3

node-url

node.js core url module as a module
JavaScript
375
star
4

ansible-coreos-bootstrap

[NOT MAINTAINED] bootstrap a coreos machine for control via ansible
Python
227
star
5

npm-css

Require css from npm
JavaScript
128
star
6

badginator

badges for your badges
JavaScript
117
star
7

libuv.js

libuv javascript bindings
JavaScript
114
star
8

node-process

process information for node.js and browsers
JavaScript
111
star
9

qr.js

javascript qrcode library
JavaScript
92
star
10

node-enchilada

middleware for on-demand javascript bundling
JavaScript
74
star
11

node-required

identifies which modules your script is using
JavaScript
66
star
12

virtualbox-pxe-boot

Bootstrap for testing PXE boot configs in VirtualBox
66
star
13

bitcoin-address

bitcoin address verification and other tools
JavaScript
62
star
14

sequelize-encrypted

Encrypted fields for Sequelize ORM
JavaScript
61
star
15

npm-github

npm registry proxy to github repositories
JavaScript
54
star
16

fixjs

Financial Information Exchange protocol in javascript
JavaScript
54
star
17

changelog

changelog release management tool
JavaScript
51
star
18

docket

build docker images with secrets
Python
48
star
19

localenv

load environment variables from .env files
JavaScript
36
star
20

dom-events

DOM event binding and emitting
JavaScript
35
star
21

away

monitor when a user is inactive on a page
JavaScript
35
star
22

coreos-ansible-example

examples for using Ansible with CoreOS
Ruby
34
star
23

synthetic-dom-events

create DOM events for builtin event types
JavaScript
33
star
24

num

arbitrary size and precision number library in pure javascript
JavaScript
33
star
25

jetson-nano-image-maker

Create sd-card ready jetson nano images using Docker and Github Actions
Shell
32
star
26

node-book

fast and flexible logging for node.js
JavaScript
27
star
27

bamboo

javascript model library for basic CRUD
JavaScript
23
star
28

node-superstack

long stack traces for node.js
JavaScript
22
star
29

typeahead

bootstrap compatible typeahead web component
JavaScript
21
star
30

node-spaceport

decentralized service registry for nodejs
JavaScript
21
star
31

handlebars-extend-block

create extend blocks for handlebars
JavaScript
21
star
32

node-script

[DEPRECATED] see readme
JavaScript
19
star
33

node-presentation

c++ modules with node.js presentation and support material
C++
18
star
34

tryme

interactive code demo, documentation, and editor for github repositories
JavaScript
15
star
35

node-stackback

return array of v8 CallSite objects for a stacktrace
JavaScript
14
star
36

node-influx-collector

influxdb stats collector
JavaScript
12
star
37

node-htmltree

simple dom for xml/html
JavaScript
12
star
38

node-yummy

cookie session middleware for connect
JavaScript
12
star
39

int

arbitrary size integer library in javascript
JavaScript
12
star
40

qr-element

qrcode html element
JavaScript
12
star
41

udp-portal

tunnel UDP traffic over TCP
JavaScript
11
star
42

expressjs-tips-tricks

JavaScript
10
star
43

expando

expand/collapse html elements with variable height
JavaScript
10
star
44

docserv

documentation browser for node projects
JavaScript
9
star
45

chain-js

callback chaining library for javascript
JavaScript
8
star
46

ratelimit-middleware

ratelimit middleware for express
JavaScript
8
star
47

browser-stacks

stackframes from various browsers
JavaScript
7
star
48

intro-node-js

quick and dirty presentation of some node.js basics
JavaScript
7
star
49

reunion

JavaScript
6
star
50

socket.io-cloud

hosted socket.io (work in progress)
CSS
6
star
51

clock-input

clock-like time input control
JavaScript
6
star
52

node-jsrender

[NOT MAINTAINED] Node.js port of jsrender
JavaScript
6
star
53

react-webpack-boilerplate

Boilerplate example with react (with hot reloading), webpack, eslint, es6 (babel), and basic dockerfile.
JavaScript
6
star
54

influxdb-docker-stats

docker stats collection into influxdb
JavaScript
5
star
55

balabolka

dead simple hosted chat for your website
JavaScript
5
star
56

polyfill-middleware

selectively serve javascript polyfills based on user-agent
JavaScript
5
star
57

chrome-socket

streaming socket interface for chrome tcp
JavaScript
5
star
58

node-book-git

git middleware for book logging framework
JavaScript
4
star
59

etcd-spaceport

service registry leveraging etcd as a backend
JavaScript
4
star
60

node-taters

super hash powers for express view rendering
JavaScript
4
star
61

etcdjs-watch

watch etcd keys for changes
JavaScript
4
star
62

events-browserify

DEPRECATED - use https://github.com/Gozala/events
JavaScript
3
star
63

hubitat-somfy-mylink

Somfy MyLink Integration for Hubitat
Groovy
3
star
64

node-book-file

file transport for book logging framework
JavaScript
3
star
65

node-partial-compare

deep partial comparison of objects
JavaScript
3
star
66

node-lsmod

get a list of modules and versions for the main prog
JavaScript
3
star
67

node-bookrc

automatic config loading for the book logging framework
JavaScript
3
star
68

node-connect-raven

connect error handling middleware to log via raven
JavaScript
3
star
69

node-filepile

file backed worker queue
JavaScript
3
star
70

dom.position

dom position functions
JavaScript
3
star
71

flip-counter

apple style flip counter
JavaScript
3
star
72

node-veto

middleware to error check parameters
JavaScript
3
star
73

node-weaklink

hunt down and eradicate floating dependencies
JavaScript
2
star
74

qr

stdout into qr code
JavaScript
2
star
75

node-mandible

html and txt email templates with handlebars
JavaScript
2
star
76

node-book-pagerduty

pagertudy notifier for panic logs
JavaScript
2
star
77

takeoff

cross platform onscreen takeoff estimating application
C++
2
star
78

bootstrap-confirm

confirmation dialog with bootstrap ui classes
JavaScript
2
star
79

node-sauron

nodejs process manager and launcher
JavaScript
2
star
80

fx.js

basic dom transitions
JavaScript
2
star
81

studio-extension-ogv-example

TypeScript
2
star
82

dotfiles

home directory config files
Shell
2
star
83

node-jsbundler

RENAMED
2
star
84

microtime2iso

convert decimal time values to iso8601
JavaScript
2
star
85

logspout-firehose

Logspout adapter for writing Docker container logs to AWS Kinesis Firehose
Go
2
star
86

node-asset-manager

DEPRECATED!! don't use this shit! see readme
JavaScript
2
star
87

node-abe

Expose ArrayBuffers as read/write text streams
JavaScript
2
star
88

xrequest

cross browser ajax request
JavaScript
2
star
89

braces

ctemplate and mustache inspired templates
JavaScript
2
star
90

npm-install

recursive installation of npm packages
JavaScript
2
star
91

fpddir

Federal Reserve E-Payments Routing Directory
JavaScript
2
star
92

node-book-email

email transport for the book logging framework
JavaScript
2
star
93

d3-examples

collection of d3 examples for use with tryme
JavaScript
2
star
94

node-crumbs

[deprecated] check out my node-cookie repo for basic cookie (de)serialization instead
JavaScript
2
star
95

mailview

preview html and txt emails
JavaScript
1
star
96

stringencoding

Encode to/from Typed Array buffers
JavaScript
1
star
97

eyersee

JavaScript
1
star
98

book-bugsnag

bugsnag logger for book
JavaScript
1
star
99

node-v8-bypass

Bypass the v8 heap limit by storing cache objects in node process memory
C++
1
star
100

combobox

Lightweight select box replacement
JavaScript
1
star