Skip to content

Web3Auth/web3auth-e2e-tests

Repository files navigation

web3auth-e2e-tests

End-to-end testing for Torus products. Torus Web3Auth

Built With

Getting Started

Prerequisites

The following software are required:

  • nodejs : Download and Install Node JS from
    https://nodejs.org/en/download/

Installation

  1. Clone the repo using below URL
https://github.com/Web3Auth/web3auth-e2e-tests.git
  1. Navigate to folder and install npm packages using:
npm install
  1. For first time installation run below command to download required browsers
npm i -D @playwright/test
# install supported browsers
npx playwright install

Development

Scripts

Script Description
test --config=<test-dir>/index.config.ts --project=<chromium|firefox|webkit> Run tests in headless mode (no GUI, for CI) with feature specific config
test --config=<test-dir>/index.config.ts --project=<chromium|firefox|webkit> --headed Run tests in headed mode (with GUI, for development)
trace <path-to-trace.zip> Trace test results (for development)
test --config=index.config.ts --project=<chromium|firefox|webkit> Run tests in headless mode (no GUI, for CI) using global config
test --grep=@smoke --config=index.config.ts --project=<chromium|firefox|webkit> Run tests with tags @smoke using global config

Add a test to an existing test suite

Add a new file <name>.test.ts to the test suite's directory:

test.only("focus this test", async ({ page }) => {
  // Run only this test during development
});
test.skip("skip this test", async ({ page }) => {
  // This test is not run
});
test.serial("run tests in serial mode", async ({ page }) => {
  // This runs the below test in a serial mode
  test("scenario1", async ({ page }) => {});
  test("scenario2", async ({ page }) => {});
});

When you've done writing the test, change test.only to test to turn off focus mode.

Create a new test suite

Duplicate openloginV3/account-page/ rename and update the tests.

Status

OpenLogin

OpenLoginV4 Test Run OpenLoginV3 Test Run OpenLogin - Lighthouse

To view smoke run results, join discord.

Select elements

Prefer text or accessibility selectors:

await page.click("text=Welcome onboard");
await page.click('button:has-text("Get Started")');
await page.click('[aria-label="Continue with Facebook"]');
await page.click("xpath=.//div[text()='Login']");

See full list of selectors.

Framework Execution Pattern

alt text