sriharikapu / dappetter

The E2E Testing tool for testing Web3 Frontend Applications
https://www.npmjs.com/package/@sriharikapu/dappetter
MIT License
18 stars 12 forks source link
blockchain e2e e2e-testing ethereum puppeteer testing web3-dapp

dAppetter

🚀 launch

E2E testing for dApps using Puppeteer + MetaMask

Installation

$ npm i @sriharikapu/dappetter

Usage

import puppeteer from 'puppeteer'
import dappetter from '@sriharikapu/dappetter'

async function main() {
  const browser = await dappetter.launch(puppeteer)
  const metamask = await dappetter.getMetamask(browser)

  // create or import an account
  // await metamask.createAccount()
  await metamask.importAccount('already turtle birth enroll since...')

  // you can change the network if you want
  await metamask.switchNetwork('ropsten')

  // go to a dapp and do something that prompts MetaMask to confirm a transaction
  const page = await browser.newPage()
  await page.goto('http://my-dapp.com')
  const payButton = await page.$('#pay-with-eth')
  await payButton.click()

  // 🏌
  await metamask.confirmTransaction()
}

main()

API