Synpress - e2e testing framework for dApps

Project Name: Synpress

Project Description:

Synpress is a free and open-source end-to-end (E2E) testing library designed specifically for Web3 decentralized applications (dApps). It empowers developers to build robust, reliable, and secure dapps by simplifying complex testing scenarios involving:

  • Wallet Integrations: Seamlessly test interactions with popular Web3 wallets like MetaMask, ensuring smooth user experiences.
  • Smart Contract Interactions: Validate dApp interactions with smart contracts directly, verifying correct functionality and preventing costly errors.
  • Blockchain Events: Test how dApps respond to events on the blockchain, such as transaction confirmations or state changes.

Synpress as a Public Good:

Synpress aligns with the principles of a public good through its:

  • Open-Source Nature: Synpress is 100% open-source, making it freely accessible to everyone.
  • Focus on dApp Quality: By simplifying E2E testing, Synpress contributes to the creation of higher-quality dApps - that are more resistant to bugs, security vulnerabilities, and usability issues, ultimately benefiting the entire Web3 ecosystem.
  • Empowerment of Developers: Synpress removes complexities from dApp testing, making it accessible to a wider range of developers and QA Engineers.

Main Project Funding Sources:

Synpress primary (and only) funding source is grants. It has never received any other type of funding.

Grant Funding:

  • Synpress has received approximately 90,000 OP tokens from both RetroPGF #2 and RetroPGF #3.

Project Roadmap:

Milestones Achieved:

  • Full Playwright Integration: Synpress is deeply integrated with Playwright, a leading modern E2E testing framework, leveraging its power while adding Web3-specific capabilities.
  • Extensive MetaMask Support: A robust API enables testing a wide range of MetaMask interactions, from wallet importing and network additions to transaction confirmations and message signing.
  • Mocked Wallet Functionality (EthereumWalletMock): Allows for testing dApp logic without a real wallet, speeding up tests and improving isolation.
  • Wallet Cache: Caches pre-configured browser contexts with different wallet states for faster test execution.
  • Anvil Integration: Built-in support for Anvil, a local Ethereum testing environment, simplifies testing against a test blockchain.
  • TypeScript Support: Synpress is written in TypeScript, providing a strongly typed API and enhanced developer experience.

Future Milestones:

  • Broader Framework Support: Integrate with Cypress and potentially other testing frameworks (TestCafe, webdriver.io).
  • Enhanced Wallet Interactions: Support additional wallets (Phantom, Keplr, Coinbase Wallet, etc.) and explore deeper wallet API integrations for more comprehensive testing scenarios.
  • Improved Developer Experience: Simplify wallet setup, enhance debugging tools, and provide more real-world examples and tutorials.
  • Staying Ahead of the Curve: Support both EVM and non-EVM blockchains and adapt to new Web3 standards and technologies.
  • Community Building: Grow the contributor base and foster a thriving Synpress community.

Funding Goal:

Synpress is seeking funding to achieve its goals of becoming the leading Web3 dApp testing solution. The funds will be used to support the development of the milestones described above.

Team:

  • Jakub: Project manager and core developer, active in Web3 since 2020, full-stack engineer at Nash, core contributor at Synthetix (GitHub profile, Twitter)
  • Mateusz: Core developer, active in Web3 since 2022, full-stack engineer at Spectra (GitHub profile)
  • Sero: Core developer, active in Web3 since 2022, full-stack engineer, contractor across various Web3 projects (GitHub profile, Twitter)

Social Credibility:

Project Links:

Contact Information:

  • Discord: jakubsynthetix
  • Telegram: DRPTBL