{"id":13583707,"url":"https://github.com/dsheiko/puppetry","last_synced_at":"2025-05-15T02:07:14.921Z","repository":{"id":42461757,"uuid":"155733693","full_name":"dsheiko/puppetry","owner":"dsheiko","description":"Web testing solution for non-developers on top of Puppeteer and Jest","archived":false,"fork":false,"pushed_at":"2025-03-31T08:25:27.000Z","size":12014,"stargazers_count":873,"open_issues_count":22,"forks_count":122,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-04-12T18:47:50.259Z","etag":null,"topics":["browser-automation","ci-cd","continuous-integration","e2e-testing","frontend-testing","headless-testing","no-code","puppeteer","qa-testing","test-automation","ui-testing","visual-regression","web-testing"],"latest_commit_sha":null,"homepage":"https://puppetry.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dsheiko.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2018-11-01T15:11:47.000Z","updated_at":"2025-04-09T05:41:53.000Z","dependencies_parsed_at":"2025-04-12T18:39:31.420Z","dependency_job_id":"f180d577-9674-4936-8664-4eecb5da1a87","html_url":"https://github.com/dsheiko/puppetry","commit_stats":null,"previous_names":[],"tags_count":36,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsheiko%2Fpuppetry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsheiko%2Fpuppetry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsheiko%2Fpuppetry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsheiko%2Fpuppetry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dsheiko","download_url":"https://codeload.github.com/dsheiko/puppetry/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254259383,"owners_count":22040820,"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":["browser-automation","ci-cd","continuous-integration","e2e-testing","frontend-testing","headless-testing","no-code","puppeteer","qa-testing","test-automation","ui-testing","visual-regression","web-testing"],"created_at":"2024-08-01T15:03:42.886Z","updated_at":"2025-05-15T02:07:14.889Z","avatar_url":"https://github.com/dsheiko.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n\t\u003cbr\u003e\n\t\u003cimg src=\"https://github.com/dsheiko/puppetry/raw/master/app/assets/puppetry.png\" alt=\"Puppetry\" width=\"200\" /\u003e\n\t\u003cbr\u003e\n\tPuppetry\n\t\u003cbr\u003e\n\u003c/h1\u003e\n\n[![Build Status](https://travis-ci.org/dsheiko/puppetry.png)](https://travis-ci.org/dsheiko/puppetry)\n[![Gitter chat](https://badges.gitter.im/dsheiko/gitter.png)](https://gitter.im/dsheiko/puppetry)\n[\u003cimg src=\"https://img.shields.io/badge/slack-puppetry.app-yellow.svg?logo=slack\"\u003e](https://puppetry-app.slack.com)\n[![Total downloads](https://img.shields.io/github/downloads/dsheiko/puppetry/total.svg)](https://github.com/dsheiko/puppetry/releases)\n[![Latest download](https://img.shields.io/github/downloads/dsheiko/puppetry/v3.2.6/total.svg)](https://github.com/dsheiko/puppetry/releases/latest)\n\n\u003ch3 align=\"center\"\u003eCODELESS END-TO-END AUTOMATED TESTING\u003c/h3\u003e\n\nPuppetry is a powerful, no-code/low-code test automation tool for end-to-end (E2E) testing of web applications. Built on top of [Puppeteer](https://pptr.dev/), it provides a user-friendly UI for creating, managing, and running automated browser tests—without writing complex scripts. Designed for developers, QA engineers, and testers, Puppetry simplifies web automation while offering flexibility for advanced users.\n\n![Puppetry - codeless end-to-end test automation, integrated with CI/CD pipeline](https://github.com/dsheiko/puppetry/raw/master/docs/assets/img/puppetry-welcome.png)\n\n- [:movie_camera:  Recording Automated Tests with Puppetry](https://youtu.be/dfuNhTCRMRg  \"Recording Automated Tests with Puppetry\")\n- [:movie_camera:  How to test Responsive Web Design with Puppetry](https://youtu.be/m1az-KLboG8  \"How to test Responsive Web Design with Puppetry\")\n\n# Welcome Puppetry\nPuppetry offers you an easy-to-use UI where you choose browser methods and assertions from a predefined list, with predefined settings, guided by extensive tips.\nNamely you can do the following:\n- record user flow\n- declare element targets as pairs `variable = locator`, where locator can be either CSS selector or Xpath.\n- manage your test structure in BDD style (project, suite, test context, test case)\n- manage page/element methods and assertions\n- run the tests in Chromium/Chromium/Chrome/Firefox/Edge\n- export the project as Jest/Puppeteer bundle ready to run in CLI (e.g. by a continuous integration server)\n\n# Key Features\n\n- Can be used by QA engineers with no programming background\n- Features Headless Chrome ([Puppeteer](https://pptr.dev)) and [Jest](https://jestjs.io/)\n- Tests can run within the application as well as to be [exported e.g. for CI-server](https://docs.puppetry.app/exporting-tests-for-ci)\n- Exporting\n  - as [Jest.js project](https://docs.puppetry.app/export/exporting-tests-for-ci), ready to plugin in CI/CD pipeline\n  - as [human-readable test specification](https://docs.puppetry.app/export/export-as-test-specification) provided with screenshots per test step.\n- [Staging, template variables and expressions](https://docs.puppetry.app/template)\n- [Reusable and configurable test scenarios](https://docs.puppetry.app/snippets)\n- [Built-in automation recorder](https://docs.puppetry.app/suite#recording-suite-showcase)\n- [Interactive mode](https://docs.puppetry.app/running-tests/interactive-mode), where one can navigate test steps similar to Cypress\n- [Version control (GIT integration)](https://docs.puppetry.app/version-control)\n- Support Allure test reports\n- Support of distinct testing types:\n  - [Functional testing](https://docs.puppetry.app/getting-started)\n  - [Testing Dynamic Content](https://docs.puppetry.app/testing-techniques/testing-dynamic-content)\n  - [Exhaustive Testing](https://docs.puppetry.app/testing-techniques/exhaustive-testing)\n  - [Performance Testing](https://docs.puppetry.app/testing-techniques/performance-testing)\n  - [Visual Regression Testing](https://docs.puppetry.app/testing-techniques/css-regression-testing)\n  - [Mocking HTTP/S Requests](https://docs.puppetry.app/testing-techniques/mocking-http-s-requests)\n  - [Testing REST API](https://docs.puppetry.app/testing-techniques/testing-rest-api)\n  - [Testing Google Analytics tracking code](https://docs.puppetry.app/testing-techniques/testing-google-analytics-tracking-code)\n  - [Testing Chrome Extensions](https://docs.puppetry.app/testing-techniques/testing-chrome-extensions)\n  - [Testing Shadow DOM](https://docs.puppetry.app/testing-techniques/testing-shadow-dom)\n  - [Testing Transactional Emails](https://docs.puppetry.app/testing-techniques/testing-emails).\n\n\n## Download\n\nYou can download latest installers for your platform [from the releases page](https://github.com/dsheiko/puppetry/releases)\n\nCurrent only the following OS are supported:\n\n-   Windows 7 and greater (64 bit)\n-   Ubuntu 14.04 and greater (64 bit)\n-   MacOS X 10.10 (Yosemite) and greater (64 bit)\n\nOn Linux can be installed with [Snapcraft](https://snapcraft.io/docs/installing-snapd):\n```\nsudo snap install puppetry\n```\n\nOn Mac can be installed with [Homebrew](https://brew.sh/):\n```\nbrew cask install puppetry\n```\n## FAQ\n\n- [Stackoverflow](https://stackoverflow.com/questions/tagged/puppetry)\n\n## Feedback\n\n- [Join Puppetry on Slack](http://puppetry.dsheiko.com) :coffee:\n- [Chat](https://gitter.im/dsheiko/puppetry)\n- [Facebook](https://www.facebook.com/pg/puppetry.testing/)\n- [Feature requests](https://github.com/dsheiko/puppetry/issues)\n- [Problem reports](https://github.com/dsheiko/puppetry/issues)\n\n## Contributing\n\n- get acquainted with guides\n  - [the great document](https://github.com/firstcontributions/first-contributions) about first contributions\n- examine the [Backlog](https://github.com/dsheiko/puppetry/projects), suggest new features\n- look into existing Issues, come up with a fix (`master` branch)\n- implement new features (`dev` branch)\n- check [Developer Guide](https://github.com/dsheiko/puppetry/wiki/)\n\nPlease adhere the coding style. We have one based on jQuery's JavaScript Style Guide. You can find the validation rules in `.eslintrc`\nand lint the code by running `npm run lint`\n\n\n## Thanks\n\nA special thanks to\n[Monika Rao](https://github.com/monika-12),\n[vteixeira19](https://github.com/vteixeira19),\n[Gernot Messow](https://github.com/uvexgmessow),\n[Carlos Mantilla](https://github.com/ceoaliongroo),\n[kkmuffme](https://github.com/kkmuffme),\n[Ravindra Jadhav](https://github.com/jadhavravindra)\nfor the ideas and support\n\n## Credits\n\n-   [Electron](http://electronjs.org/)\n-   [Puppeteer](https://pptr.dev)\n-   [Jest](https://jestjs.io/)\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsheiko%2Fpuppetry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdsheiko%2Fpuppetry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsheiko%2Fpuppetry/lists"}