{"id":13603001,"url":"https://github.com/Synthetixio/synpress","last_synced_at":"2025-04-11T13:32:15.662Z","repository":{"id":36984611,"uuid":"314070291","full_name":"Synthetixio/synpress","owner":"Synthetixio","description":"Synpress is e2e testing framework based on Cypress.io and playwright with support for metamask.","archived":false,"fork":false,"pushed_at":"2024-11-03T20:05:22.000Z","size":77275,"stargazers_count":603,"open_issues_count":92,"forks_count":191,"subscribers_count":15,"default_branch":"dev","last_synced_at":"2024-11-04T07:29:35.645Z","etag":null,"topics":["blockchain","cypress","docker","e2e","ethereum","metamask","playwright","testing"],"latest_commit_sha":null,"homepage":"https://synpress.io","language":"TypeScript","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/Synthetixio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":".github/SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":["https://etherscan.io/address/0x7b57c388e6149b5c197B925037602d5B6bafFbCc"]}},"created_at":"2020-11-18T22:10:14.000Z","updated_at":"2024-11-03T20:05:25.000Z","dependencies_parsed_at":"2023-10-13T06:02:58.117Z","dependency_job_id":"920dd9b6-3ddf-406e-a0e3-fa1233b1e091","html_url":"https://github.com/Synthetixio/synpress","commit_stats":{"total_commits":1387,"total_committers":31,"mean_commits":44.74193548387097,"dds":"0.39509733237202593","last_synced_commit":"f3871d7d878db03fbdbcfeb19314c46ccb7fbf40"},"previous_names":[],"tags_count":245,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Synthetixio%2Fsynpress","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Synthetixio%2Fsynpress/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Synthetixio%2Fsynpress/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Synthetixio%2Fsynpress/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Synthetixio","download_url":"https://codeload.github.com/Synthetixio/synpress/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223470377,"owners_count":17150541,"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":["blockchain","cypress","docker","e2e","ethereum","metamask","playwright","testing"],"created_at":"2024-08-01T18:01:46.132Z","updated_at":"2025-04-11T13:32:15.646Z","avatar_url":"https://github.com/Synthetixio.png","language":"TypeScript","funding_links":["https://etherscan.io/address/0x7b57c388e6149b5c197B925037602d5B6bafFbCc"],"categories":["dApps directory","Web3 Testing","blockchain","Decentralized Finance (DeFi)"],"sub_categories":["Web3 Testing Tools","Whitepapers"],"readme":"# Synpress\n\n[![npm version](https://badge.fury.io/js/%40synthetixio%2Fsynpress.svg)](https://badge.fury.io/js/%40synthetixio%2Fsynpress)\n[![Discord](https://img.shields.io/discord/1103781993394733136.svg?color=768AD4\u0026label=discord\u0026logo=https%3A%2F%2Fdiscordapp.com%2Fassets%2F8c9701b98ad4372b58f13fd9f65f966e.svg)](https://discord.gg/XhZKSRGtWc)\n[![Twitter Follow](https://img.shields.io/twitter/follow/synpress_.svg?label=synpress\u0026style=social)](https://twitter.com/synpress_)\n\n![Synpress CI](https://github.com/Synthetixio/synpress/workflows/Synpress%20CI/badge.svg?branch=master)\n[![CodeQL](https://github.com/Synthetixio/synpress/actions/workflows/codeql.yml/badge.svg?branch=master)](https://github.com/Synthetixio/synpress/actions/workflows/codeql.yml)\n[![synpress](https://img.shields.io/endpoint?url=https://dashboard.cypress.io/badge/count/ohpeaz/master\u0026style=flat\u0026logo=cypress)](https://dashboard.cypress.io/projects/ohpeaz/runs)\n\n\u003e **We're Hiring 🎉** — Think you have what it takes? See open positions [here](https://mirror.xyz/synpress.eth/FXhd5-7e7wBmYYtfmqkF0h7FhDBRUGuGF6j-D7jPpvM).\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/Synthetixio/synpress/dev/images/synpress-logo.png\" height=\"200\" alt=\"Synpress Logo\" /\u003e\n  \u003cp align=\"center\"\u003e\n    Synpress is a powerful and developer-friendly E2E testing library for Web3 dapps, built on top of \u003ca href=\"https://www.cypress.io/\"\u003eCypress\u003c/a\u003e and \u003ca href=\"https://playwright.dev/\"\u003ePlaywright\u003c/a\u003e.  It simplifies testing interactions with wallets like \u003ca href=\"https://metamask.io/\"\u003eMetaMask\u003c/a\u003e and other blockchain-specific operations.\n  \u003c/p\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ci\u003eSponsored by: \u003c/i\u003e \u003cbr/\u003e \u003cbr/\u003e\n    \u003ca href=\"https://github.com/ethereum-optimism\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/Synthetixio/synpress/dev/images/optimism-logo.png\" height=\"100\" alt=\"Optimism Logo\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## ✨ Features\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/Synthetixio/synpress/dev/images/demo.gif\" title=\"Synpress Demo\" alt=\"Synpress Demo\" style=\"margin-bottom: 10px;\"\u003e\n\u003c/p\u003e\n\n- **Playwright and Cypress Support**: Use either Playwright or Cypress as your testing framework, leveraging all their existing features and functionalities with Synpress.\n- **One-Time Browser Setup \u0026 Caching:** Define your dApps wallet setup once, and let Synpress cache the browser state. This dramatically speeds up test execution and unlocks the full potential of Playwright and Cypress, including parallel testing.\n- **Built-in Wallet and Blockchain Agnostic System**: Synpress core is designed to be wallet and blockchain agnostic, offering flexibility for future integrations and broader dApp support.\n- **MetaMask Integration**: Deep integration with MetaMask for seamless testing of common dApp interactions.\n- **TypeScript Support**: Enhanced TypeScript support for improved type safety and developer experience.\n- **Anvil Support**: Easily spin up a local Anvil node with just one line of code for fast and isolated testing.\n- **Blazing Fast Performance**: Synpress is optimized for speed, rivalling native Web2 testing framework performance.\n- **Improved Debugging**: Detailed error handling, combined with the debugging tools of Playwright and Cypress, makes pinpointing and resolving issues simple.\n\n## 🧑‍💻 Installation\n\n```bash\npnpm add -D @synthetixio/synpress@latest\n```\n\n## 📝 Documentation\n\nFor comprehensive guides, API references, and examples, refer to our [official documentation](https://docs.synpress.io/docs/introduction).\n\n## 🧑‍🤝‍🧑 Community\n\nJoin our vibrant community for support, discussions, and updates:\n\n## How to Contribute\n\nWe welcome contributions from the community! Please refer to our [contributing guidelines](https://docs.synpress.io/docs/contribution).\n\n- [Discord](https://discord.gg/XhZKSRGtWc)\n- [X (formerly Twitter)](https://twitter.com/Synpress_)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSynthetixio%2Fsynpress","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSynthetixio%2Fsynpress","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSynthetixio%2Fsynpress/lists"}