Most Web3 teams run smart contract unit tests in CI but leave dApp functional testing entirely manual. This creates a gap: contract logic is gated, but the UI, API, and wallet integration are not. Every testnet deploy can silently break user-facing flows.
Here is how to build a CI/CD pipeline that runs automated QA on every testnet deployment — without requiring a full node or live wallet in your pipeline.
Pipeline architecture for Web3 QA
Layer 1 — Unit tests: Hardhat or Foundry contract tests run on every commit. Fast, deterministic, no external dependencies. Layer 2 — Integration tests: API and contract interaction tests against a local node (Hardhat network or Anvil). Run on every PR. Layer 3 — E2E functional tests: Playwright suites against a testnet deployment. Run on every merge to main, triggered by deployment webhook.
The key is separating test layers so each has an appropriate trigger and execution time. Unit tests should complete in under 2 minutes. Integration in under 10. E2E in under 30.
Handling wallet authentication in CI
Live wallets cannot be used in headless CI. The solution is injecting a test wallet via Playwright fixtures — a funded testnet account with a known private key, injected as an EIP-1193 provider mock. This lets you test transaction flows, signing, and approval flows without a browser extension.
For WalletConnect flows, use a mock WalletConnect provider that simulates the pairing handshake. This covers the connection flow without requiring a real mobile device in your pipeline.
Deployment-triggered test runs
Configure your deployment pipeline to emit a webhook after each testnet deploy. A GitHub Actions workflow listens, waits for the deployment to stabilise (60 to 90 seconds), then triggers the Playwright E2E suite against the new deployment URL.
Test results post back to the PR as a GitHub check. Failed critical flows block the PR from being promoted to staging. This gives Web3 teams the same CI/CD quality gates that mature SaaS teams rely on — without manual QA between every testnet deploy.
Want help implementing this for your product?
Book a free 30-minute QA audit — coverage report in 48 hours.