End-to-end testing for Torus products. Torus Web3Auth
The following software are required:
- nodejs : Download and Install Node JS from
https://nodejs.org/en/download/
- Clone the repo using below URL
https://github.com/Web3Auth/web3auth-e2e-tests.git
- Navigate to folder and install npm packages using:
npm install
- For first time installation run below command to download required browsers
npm i -D @playwright/test
# install supported browsers
npx playwright install
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 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.
Duplicate openloginV3/account-page/
rename and update the tests.
To view smoke run results, join discord.
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']");
Auth Service buildEnv: production, testing, staging mfaFactorsEnabled: all selected mfaFactorsMandatory: device, password, authenticator mandatory mfaLevel: none, mandatory network: sapphire devnet, sapphire mainnet, mainnet uxMode: popup, redirect logins: passwordless only
For the below combinations, we want to test if the login is successful or not. All random accounts in each combo case.
buildEnv: production mfaFactorsEnabled: all selected mfaFactorsMandatory: device, password, authenticator mandatory mfaLevel: none network: sapphire mainnet uxMode: redirect logins: passwordless only
buildEnv: testing mfaFactorsEnabled: all selected mfaFactorsMandatory: device, password, authenticator mandatory mfaLevel: mandatory network: sapphire devnet uxMode: popup logins: passwordless only
buildEnv: staging mfaFactorsEnabled: all selected mfaFactorsMandatory: device, password, authenticator mandatory mfaLevel: mandatory network: mainnet uxMode: redirect logins: passwordless only