Dappeteer vs Synpress

Published on March 6, 2024

You asked you got it !! JK 😂 , this was in my backlog for a long time and finally had time to write something about it. This literally summarises my life:

Not many people out there talking about Blockchain Tests, maybe Oleksandr Romanov and Rhian Lewis, so I usually resource to communities (Web3Tests, Synpress…) to see what others are doing.

It is a bit shocking as there are many well-known attacks in this technology and on top of that after deploying something to the Blockchain you can’t go back (immutability feature), so how come this phase is so neglected as making sure everything is alright is so crucial ?

I am doing a quick benchmark about the End-to-End Tests Web3 Frameworks that are out there, and yes you can always mock the Web3 and then you don’t rely on third party integrations, which you would do any Web2 application already. But hey, this is one option to use when you need it !

Here it is what I got from the two major and most popular tools to test Web3 Apps (DApps):

Criteria Synpress Dappeteer
Platform & Application Support Web3 applications (Dapps) Web3 applications (Dapps)
Supported Technologies TypeScript, Javascript TypeScript, Javascript
Wallets supported MetaMask MetaMask snaps, but probably is outdated.
Testing Scope E2E Tests E2E Tests
Testing Framework Integration Playwright (as a plugin)
Support for Cypress is coming soon.
Playwright (as a plugin)
Puppeteer (as a plugin)
Ease of Use & Learning Curve Easy learning curve, requires JavaScript/Typecript knowledge Requires JavaScript/Typescript knowledge
Reporting & Analytics Detailed reports with dashboards and integrations Basic reporting, may require additional tools
Ease of setup Easy to set up with Node.js, yarn and npm Easy to set up with Node.js, yarn and npm
Browsers – Chrome/Chromium (+ Edge, Opera, Brave, Chromium-based browsers)
– Firefox
– Webkit (Safari)
– Chrome/Chromium (+ Edge, Opera, Brave, Chromium-based browsers)
– Webkit (Safari)
Community & Support Large and active community, extensive documentation and support Smaller community, growing resources and documentation
Cost & Licensing Open source and free to use Open source and free to use
Scalability & Integration Highly scalable, integrates with CI/CD pipelines Less information available, may require custom integrations
Accessibility Supports accessibility testing with plugins Information not available.
Customization Highly customizable with plugins and extensions Highly customizable with plugins and extensions

Let me know in the comments which option you went for and how was your experience with it 😃