{"id":18657836,"url":"https://github.com/lightsofapollo/browser-test","last_synced_at":"2025-11-05T22:30:22.286Z","repository":{"id":16749586,"uuid":"19507185","full_name":"lightsofapollo/browser-test","owner":"lightsofapollo","description":"Simpler browser test to CLI test harness","archived":false,"fork":false,"pushed_at":"2015-07-07T02:56:55.000Z","size":324,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-27T15:12:40.404Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lightsofapollo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-05-06T19:12:02.000Z","updated_at":"2015-06-11T23:27:19.000Z","dependencies_parsed_at":"2022-09-24T10:01:12.320Z","dependency_job_id":null,"html_url":"https://github.com/lightsofapollo/browser-test","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightsofapollo%2Fbrowser-test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightsofapollo%2Fbrowser-test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightsofapollo%2Fbrowser-test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightsofapollo%2Fbrowser-test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lightsofapollo","download_url":"https://codeload.github.com/lightsofapollo/browser-test/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239475960,"owners_count":19645041,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T07:29:59.827Z","updated_at":"2025-11-05T22:30:22.256Z","avatar_url":"https://github.com/lightsofapollo.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Browser Test\n\n[![Build Status](https://travis-ci.org/lightsofapollo/browser-test.png?branch=master)](https://travis-ci.org/lightsofapollo/browser-test)\n\nBrowser test is in alpha phase... the intent is to provide the best possible out\nof the box testing experience for browsers (just firefox right now) with\nminimal magic and easy client interface so everyone can use their\nexisting framework.\n\nThe basic workflow should look like this:\n\n```sh\n$ browser-test file.js\n\n1..2\nok 1 start one\nok 2 start two\n# PASSED: 2\n# PENDING: 0\n# FAILED: 0\n\n```\n\nA fresh browser is created for each test (and currently only one test\nper invocation).\n\n## Usage\n\n```sh\nbrowser-test \u003cfile.js\u003e\n```\n\nTo be super useful you usually need an entrypoint html file which will\nglue the harness to your existing test framework for a complete\nentrypoint see /test/browser/entrypoint.html.\n\n```sh\nbrowser-test --entrypoint entrypoint.html test.js\n```\n\nFor ease of use command line flags can be added to `browser-test.opts`\nand will be used for every invocation of browser-test in that directory.\n\n\n## Why this exists\n\nThe `browser-test` package is an early prototype of concepts I thought\nof as `test-agent 2` (test-agent is the unit test runner used by\nFirefoxOS's gaia project).\n\nThe original test-agent had many features and used many levels of\nindirection to facilitate _domain_ (as in foobar.com) level isolation of\ntests. Tests within the same domain (app) could effect another tests\ncausing many intermittent test problems as our apps grew larger (and due\nto poorly written/leaky tests).\n\n\"Browser Test\" handles things very differently:\n\n  - One process for one file testing\n\n    * While this model slows down a single test run modestly it does not\n      greatly effect productivitity (500ms overhead or less) the\n      overhead is offset by the garuentee that test can run in parallel.\n\n    * The current implementation runs one-test per command _only_ passing\n      multiple tests will be ignored.\n\n  - Loose \"client\" reporting instead of coupled adapters\n\n      * really easy to write adapters for other frameworks but none\n        intended to be directly bundled into the framework.\n\n# Developing\n\nBuild the project:\n\n```sh\nnpm install\nmake\n```\n\nTest the project:\n\n```js\nnpm install\nmake test\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flightsofapollo%2Fbrowser-test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flightsofapollo%2Fbrowser-test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flightsofapollo%2Fbrowser-test/lists"}