{"id":20653048,"url":"https://github.com/existenzial/testcafe-zero","last_synced_at":"2026-04-11T03:06:47.759Z","repository":{"id":143852936,"uuid":"140363297","full_name":"existenzial/testcafe-zero","owner":"existenzial","description":"a helpful TestCafe e2e integration starter with React, Vue, Angular, and Vanilla JS template integration examples","archived":false,"fork":false,"pushed_at":"2018-07-10T06:45:09.000Z","size":71,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-09T21:28:37.882Z","etag":null,"topics":["angular","e2e","e2e-testing","javascript","nodejs","react","testcafe","testcafe-react-selectors","testcafe-vue-selectors","vue"],"latest_commit_sha":null,"homepage":"","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/existenzial.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-07-10T01:57:17.000Z","updated_at":"2018-07-10T06:45:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"6f812d89-340b-4f15-9897-7c69099df72f","html_url":"https://github.com/existenzial/testcafe-zero","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/existenzial/testcafe-zero","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/existenzial%2Ftestcafe-zero","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/existenzial%2Ftestcafe-zero/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/existenzial%2Ftestcafe-zero/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/existenzial%2Ftestcafe-zero/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/existenzial","download_url":"https://codeload.github.com/existenzial/testcafe-zero/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/existenzial%2Ftestcafe-zero/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28017700,"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","status":"online","status_checked_at":"2025-12-25T02:00:05.988Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["angular","e2e","e2e-testing","javascript","nodejs","react","testcafe","testcafe-react-selectors","testcafe-vue-selectors","vue"],"created_at":"2024-11-16T17:40:50.958Z","updated_at":"2025-12-25T03:03:32.700Z","avatar_url":"https://github.com/existenzial.png","language":"JavaScript","readme":"\u003cdiv style=\"text-align:center;\"\u003e\n  \u003cimg src=\"https://testcafe-discuss.devexpress.com/uploads/default/original/1X/c3e487471d9ef2e270385aa2650998425ed4b1ef.png\" style=\"height:35px;\"/\u003e\n  \u003cbr\u003e\n  \u003ch1\u003e💖 Starter\u003c/h1\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://github.com/DevExpress/testcafe\"\u003e\n  \u003cimg alt=\"Tested with TestCafe\" src=\"https://img.shields.io/badge/tested%20with-TestCafe-2fa4cf.svg\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n---\n**TestCafe** is a `node` based **e2e** automated testing solution using a [URL-rewriting proxy](https://github.com/DevExpress/testcafe-hammerhead \"More Info\") designed to free you from Selenium and Web Driver restrictions once and for all.\n\n```bash\ntests\n|    |__ **.spec.js\n|\ntestcafe.json   # Config (Optional)\n```\n\n## General\n- **Info** - \u003ca href=\"http://devexpress.github.io/testcafe/\"\u003eTestCafe\u003c/a\u003e\n- **Repo** - \u003ca href=\"https://github.com/DevExpress/testcafe\"\u003eGithub repository\u003c/a\u003e\n- **Plugins**\n  - \u003ca href=\"https://github.com/DevExpress/testcafe-live\"\u003eTestCafe Live\u003c/a\u003e (_add - watch mode_)\n  - \u003ca href=\"https://github.com/DevExpress/testcafe-react-selectors\"\u003eReact\u003c/a\u003e\n  - \u003ca href=\"https://github.com/DevExpress/testcafe-vue-selectors\"\u003eVue\u003c/a\u003e\n  - \u003ca href=\"https://github.com/miherlosev/eslint-plugin-testcafe\"\u003eESLint\u003c/a\u003e\n  - \u003ca href=\"https://github.com/helen-dikareva/axe-testcafe\"\u003eAccessibility\u003c/a\u003e\n  - \u003ca href=\"https://github.com/romanresh/vscode-testcafe\"\u003eVSCode\u003c/a\u003e\n  - and many more...\n\n## Included\n```bash\n# TestCafe\nyarn add --dev testcafe\n\n# Watch Mode\nyarn add --dev testcafe-live\n\n# ESLint Config\nyarn add --dev eslint-plugin-testcafe\n\n# React Selectors\nyarn add --dev testcafe-react-selectors\n\n# Vue Selectors\nyarn add --dev testcafe-vue-selectors\n\n# Angular Selectors\nyarn add --dev testcafe-angular-selectors\n```\n## Get Started\n```bash\n# Run tests\nyarn test\n\n# Run tests in watch mode\nyarn test:watch\n\n# Run mobile tests\nyarn test:device\n\n# Remove all integrations \u0026 start fresh\nyarn eject\n```\n\n## Pros\n- Cross-browser support (even _IE_ _+ physical mobile devices via QR code scan_)\n- Selenium and WebDriver free\n- Little to no configuration\n- Can execute tests concurrently\n- Easy Jenkins CI integration\n- Framework-specific selectors (e.g.: _React_ ⚛️, _Vue_ 🇻 etc.)\n- Stellar documentation\n- Explicit use of `async` and `await` for asynchronous execution\n\n## Cons\n- Non-intuitive syntax (e.g.: _\"fixtures\"_ vs. _\"describe\"_)\n- no dedicated app for VQA\n- Node limitations\n- A work in progress\n\n## Contributors\n[\u003cimg src=\"https://avatars3.githubusercontent.com/u/10368585?s=460\u0026v=4\" alt=\"Jazz Lyles\" width=\"100px;\" /\u003e](https:/github.com/existenzial)\u003cbr /\u003e\n[✉️](mailto:ripley36706@gmail.com)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexistenzial%2Ftestcafe-zero","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexistenzial%2Ftestcafe-zero","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexistenzial%2Ftestcafe-zero/lists"}