set up tests for run in parallel

This commit is contained in:
KateMaruk 2023-11-27 00:13:02 +02:00
parent 09e522c0a9
commit 1a0ce17133
32 changed files with 49 additions and 61 deletions

View File

@ -5,8 +5,6 @@
"main": "index.js",
"scripts": {
"test": "npx playwright test --project=chrome -gv 'PERF'",
"file": "npx playwright test -g \"AS-27 File library colors - create group\" --project=chrome",
"spec": "npx playwright test tests/assets/assets-colors.spec.js --project=chrome",
"firefox": "npx playwright test --project=firefox -gv 'PERF'",
"webkit": "npx playwright test --project=webkit -gv 'PERF'",
"performance": "npx playwright test --retries=1 --project=chrome -g 'PERF'",

View File

@ -131,6 +131,22 @@ exports.TeamPage = class TeamPage extends BasePage {
}
}
async deleteTeamsIfExist() {
await this.openTeamsListIfClosed();
for (const teamName of await this.teamListItem.allInnerTexts()) {
if (!teamName.includes("Your Penpot")) {
const teamSel = this.page.locator(`li.team-name span.team-text:text-is("${teamName}")`).last();
await teamSel.click();
await this.teamOptionsMenuButton.waitFor();
await this.teamOptionsMenuButton.click();
await this.deleteTeamMenuItem.click();
await this.deleteTeamButton.click();
await expect(this.teamCurrentBtn).toHaveText("Your Penpot");
await this.openTeamsListIfClosed();
}
}
}
async isTeamDeleted(teamName) {
await this.openTeamsListIfClosed();
for (const el of await this.teamCurrentNameDiv.elementHandles()) {

View File

@ -12,7 +12,7 @@ const config = {
snapshotPathTemplate: `{testDir}/{testFileDir}/{testFileName}-snapshots/{projectName}/{arg}{ext}`,
testDir: "./tests",
/* Maximum time one test can run for. */
timeout: process.env.CI ? 60 * 1000 : 50 * 1000,
timeout: process.env.CI ? 60 * 1000 : 555550 * 1000,
expect: {
/**
* Maximum time expect() should wait for the condition to be met.

View File

@ -13,8 +13,7 @@ test.beforeEach( async ({ page }) => {
const dashboardPage = new DashboardPage(page);
const mainPage = new MainPage(page);
await teamPage.createTeam(teamName);
await dashboardPage.deleteProjectsIfExist();
await dashboardPage.deleteFilesIfExist();
await teamPage.isTeamSelected(teamName);
await dashboardPage.createFileViaPlaceholder();
await mainPage.isMainPageLoaded();
});

View File

@ -12,8 +12,7 @@ test.beforeEach( async ({ page }) => {
const dashboardPage = new DashboardPage(page);
const mainPage = new MainPage(page);
await teamPage.createTeam(teamName);
await dashboardPage.deleteProjectsIfExist();
await dashboardPage.deleteFilesIfExist();
await teamPage.isTeamSelected(teamName);
await dashboardPage.createFileViaPlaceholder();
await mainPage.isMainPageLoaded();
});

View File

@ -12,8 +12,7 @@ test.beforeEach( async ({ page }) => {
const dashboardPage = new DashboardPage(page);
const mainPage = new MainPage(page);
await teamPage.createTeam(teamName);
await dashboardPage.deleteProjectsIfExist();
await dashboardPage.deleteFilesIfExist();
await teamPage.isTeamSelected(teamName);
await dashboardPage.createFileViaPlaceholder();
await mainPage.isMainPageLoaded();
});

View File

@ -11,8 +11,7 @@ test.beforeEach( async ({ page }) => {
const teamPage = new TeamPage(page);
const dashboardPage = new DashboardPage(page);
await teamPage.createTeam(teamName);
await dashboardPage.deleteProjectsIfExist();
await dashboardPage.deleteFilesIfExist();
await teamPage.isTeamSelected(teamName);
await dashboardPage.createFileViaPlaceholder();
});

View File

@ -12,8 +12,7 @@ test.beforeEach( async ({ page }) => {
const dashboardPage = new DashboardPage(page);
const mainPage = new MainPage(page);
await teamPage.createTeam(teamName);
await dashboardPage.deleteProjectsIfExist();
await dashboardPage.deleteFilesIfExist();
await teamPage.isTeamSelected(teamName);
await dashboardPage.createFileViaPlaceholder();
await mainPage.isMainPageLoaded();
});

View File

@ -12,8 +12,7 @@ test.beforeEach( async ({ page }) => {
const dashboardPage = new DashboardPage(page);
const mainPage = new MainPage(page);
await teamPage.createTeam(teamName);
await dashboardPage.deleteProjectsIfExist();
await dashboardPage.deleteFilesIfExist();
await teamPage.isTeamSelected(teamName);
await dashboardPage.createFileViaPlaceholder();
await mainPage.isMainPageLoaded();
});

View File

@ -13,8 +13,7 @@ test.beforeEach( async ({ page }) => {
const dashboardPage = new DashboardPage(page);
const mainPage = new MainPage(page);
await teamPage.createTeam(teamName);
await dashboardPage.deleteProjectsIfExist();
await dashboardPage.deleteFilesIfExist();
await teamPage.isTeamSelected(teamName);
await dashboardPage.createFileViaPlaceholder();
await mainPage.isMainPageLoaded();
});

View File

@ -13,8 +13,7 @@ test.beforeEach( async ({ page }) => {
const dashboardPage = new DashboardPage(page);
const mainPage = new MainPage(page);
await teamPage.createTeam(teamName);
await dashboardPage.deleteProjectsIfExist();
await dashboardPage.deleteFilesIfExist();
await teamPage.isTeamSelected(teamName);
await dashboardPage.createFileViaPlaceholder();
await mainPage.isMainPageLoaded();
});

View File

@ -12,8 +12,7 @@ test.beforeEach( async ({ page }) => {
const dashboardPage = new DashboardPage(page);
const mainPage = new MainPage(page);
await teamPage.createTeam(teamName);
await dashboardPage.deleteProjectsIfExist();
await dashboardPage.deleteFilesIfExist();
await teamPage.isTeamSelected(teamName);
await dashboardPage.createFileViaPlaceholder();
await mainPage.isMainPageLoaded();
});

View File

@ -13,8 +13,7 @@ test.beforeEach( async ({ page }) => {
const dashboardPage = new DashboardPage(page);
const mainPage = new MainPage(page);
await teamPage.createTeam(teamName);
await dashboardPage.deleteProjectsIfExist();
await dashboardPage.deleteFilesIfExist();
await teamPage.isTeamSelected(teamName);
await dashboardPage.createFileViaPlaceholder();
await mainPage.isMainPageLoaded();
});

View File

@ -13,8 +13,7 @@ test.beforeEach( async ({ page }) => {
const dashboardPage = new DashboardPage(page);
const mainPage = new MainPage(page);
await teamPage.createTeam(teamName);
await dashboardPage.deleteProjectsIfExist();
await dashboardPage.deleteFilesIfExist();
await teamPage.isTeamSelected(teamName);
await dashboardPage.createFileViaPlaceholder();
await mainPage.isMainPageLoaded();
});

View File

@ -14,8 +14,7 @@ test.beforeEach( async ({ page }) => {
const dashboardPage = new DashboardPage(page);
const mainPage = new MainPage(page);
await teamPage.createTeam(teamName);
await dashboardPage.deleteProjectsIfExist();
await dashboardPage.deleteFilesIfExist();
await teamPage.isTeamSelected(teamName);
await dashboardPage.createFileViaPlaceholder();
await mainPage.isMainPageLoaded();
});
@ -28,7 +27,7 @@ test.afterEach(async ({ page }) => {
});
test.describe("Flex Layout & Elements", async () => {
test.beforeEach(async ({ page, browserName}, testInfo) => {
test.beforeEach(async ({ page, browserName }, testInfo) => {
testInfo.setTimeout(testInfo.timeout + 10000);
const mainPage = new MainPage(page);
await mainPage.clickCreateBoardButton();

View File

@ -13,8 +13,7 @@ test.beforeEach( async ({ page }) => {
const dashboardPage = new DashboardPage(page);
const mainPage = new MainPage(page);
await teamPage.createTeam(teamName);
await dashboardPage.deleteProjectsIfExist();
await dashboardPage.deleteFilesIfExist();
await teamPage.isTeamSelected(teamName);
await dashboardPage.createFileViaPlaceholder();
await mainPage.isMainPageLoaded();
});

View File

@ -12,8 +12,7 @@ test.beforeEach( async ({ page }) => {
const dashboardPage = new DashboardPage(page);
const mainPage = new MainPage(page);
await teamPage.createTeam(teamName);
await dashboardPage.deleteProjectsIfExist();
await dashboardPage.deleteFilesIfExist();
await teamPage.isTeamSelected(teamName);
await dashboardPage.createFileViaPlaceholder();
await mainPage.isMainPageLoaded();
});

View File

@ -13,8 +13,7 @@ test.beforeEach( async ({ page }) => {
const dashboardPage = new DashboardPage(page);
const mainPage = new MainPage(page);
await teamPage.createTeam(teamName);
await dashboardPage.deleteProjectsIfExist();
await dashboardPage.deleteFilesIfExist();
await teamPage.isTeamSelected(teamName);
await dashboardPage.createFileViaPlaceholder();
await mainPage.isMainPageLoaded();
});

View File

@ -13,8 +13,7 @@ test.beforeEach( async ({ page }) => {
const dashboardPage = new DashboardPage(page);
const mainPage = new MainPage(page);
await teamPage.createTeam(teamName);
await dashboardPage.deleteProjectsIfExist();
await dashboardPage.deleteFilesIfExist();
await teamPage.isTeamSelected(teamName);
await dashboardPage.createFileViaPlaceholder();
await mainPage.isMainPageLoaded();
});

View File

@ -13,8 +13,7 @@ test.beforeEach( async ({ page }) => {
const dashboardPage = new DashboardPage(page);
const mainPage = new MainPage(page);
await teamPage.createTeam(teamName);
await dashboardPage.deleteProjectsIfExist();
await dashboardPage.deleteFilesIfExist();
await teamPage.isTeamSelected(teamName)
await dashboardPage.createFileViaPlaceholder();
await mainPage.isMainPageLoaded();
});

View File

@ -11,8 +11,7 @@ test.beforeEach( async ({ page }) => {
const teamPage = new TeamPage(page);
const dashboardPage = new DashboardPage(page);
await teamPage.createTeam(teamName);
await dashboardPage.deleteProjectsIfExist();
await dashboardPage.deleteFilesIfExist();
await teamPage.isTeamSelected(teamName);
});
test.afterEach(async ({ page }) => {

View File

@ -10,8 +10,7 @@ test.beforeEach( async ({ page }) => {
const teamPage = new TeamPage(page);
const dashboardPage = new DashboardPage(page);
await teamPage.createTeam(teamName);
await dashboardPage.deleteProjectsIfExist();
await dashboardPage.deleteFilesIfExist();
await teamPage.isTeamSelected(teamName);
});
test.afterEach(async ({ page }) => {

View File

@ -10,6 +10,7 @@ test.beforeEach( async ({ page }) => {
const teamPage = new TeamPage(page);
const dashboardPage = new DashboardPage(page);
await teamPage.createTeam(teamName);
await teamPage.isTeamSelected(teamName);
await dashboardPage.minimizeLibrariesAndTemplatesCarousel();
});

View File

@ -12,8 +12,7 @@ test.beforeEach( async ({ page }) => {
const dashboardPage = new DashboardPage(page);
const mainPage = new MainPage(page);
await teamPage.createTeam(teamName);
await dashboardPage.deleteProjectsIfExist();
await dashboardPage.deleteFilesIfExist();
await teamPage.isTeamSelected(teamName);
await dashboardPage.createFileViaPlaceholder();
await mainPage.isMainPageLoaded();
});

View File

@ -13,8 +13,7 @@ test.beforeEach( async ({ page }) => {
const dashboardPage = new DashboardPage(page);
const mainPage = new MainPage(page);
await teamPage.createTeam(teamName);
await dashboardPage.deleteProjectsIfExist();
await dashboardPage.deleteFilesIfExist();
await teamPage.isTeamSelected(teamName);
await dashboardPage.createFileViaPlaceholder();
await mainPage.isMainPageLoaded();
});

View File

@ -12,8 +12,7 @@ test.beforeEach( async ({ page }) => {
const dashboardPage = new DashboardPage(page);
const mainPage = new MainPage(page);
await teamPage.createTeam(teamName);
await dashboardPage.deleteProjectsIfExist();
await dashboardPage.deleteFilesIfExist();
await teamPage.isTeamSelected(teamName);
await dashboardPage.createFileViaPlaceholder();
await mainPage.isMainPageLoaded();
});

View File

@ -12,8 +12,7 @@ test.beforeEach( async ({ page }) => {
const dashboardPage = new DashboardPage(page);
const mainPage = new MainPage(page);
await teamPage.createTeam(teamName);
await dashboardPage.deleteProjectsIfExist();
await dashboardPage.deleteFilesIfExist();
await teamPage.isTeamSelected(teamName);
await dashboardPage.createFileViaPlaceholder();
await mainPage.isMainPageLoaded();
});

View File

@ -13,8 +13,7 @@ test.beforeEach( async ({ page }) => {
const dashboardPage = new DashboardPage(page);
const mainPage = new MainPage(page);
await teamPage.createTeam(teamName);
await dashboardPage.deleteProjectsIfExist();
await dashboardPage.deleteFilesIfExist();
await teamPage.isTeamSelected(teamName);
await dashboardPage.createFileViaPlaceholder();
await mainPage.isMainPageLoaded();
});

View File

@ -12,8 +12,7 @@ test.beforeEach( async ({ page }) => {
const dashboardPage = new DashboardPage(page);
const mainPage = new MainPage(page);
await teamPage.createTeam(teamName);
await dashboardPage.deleteProjectsIfExist();
await dashboardPage.deleteFilesIfExist();
await teamPage.isTeamSelected(teamName);
await dashboardPage.createFileViaPlaceholder();
await mainPage.isMainPageLoaded();
});

View File

@ -12,8 +12,7 @@ test.beforeEach( async ({ page }) => {
const dashboardPage = new DashboardPage(page);
const mainPage = new MainPage(page);
await teamPage.createTeam(teamName);
await dashboardPage.deleteProjectsIfExist();
await dashboardPage.deleteFilesIfExist();
await teamPage.isTeamSelected(teamName);
await dashboardPage.createFileViaPlaceholder();
await mainPage.isMainPageLoaded();
});

View File

@ -12,8 +12,7 @@ test.beforeEach( async ({ page }) => {
const dashboardPage = new DashboardPage(page);
const mainPage = new MainPage(page);
await teamPage.createTeam(teamName);
await dashboardPage.deleteProjectsIfExist();
await dashboardPage.deleteFilesIfExist();
await teamPage.isTeamSelected(teamName);
await dashboardPage.createFileViaPlaceholder();
await mainPage.isMainPageLoaded();
});

View File

@ -2,7 +2,7 @@ const { test } = require("@playwright/test");
const { LoginPage } = require("../pages/login-page")
const { RegisterPage } = require("../pages/register-page")
test("ON-5 Sign up with invalid email address",async ({page}) => {
test("ON-5 Sign up with invalid email address", async ({ page }) => {
const loginPage = new LoginPage(page);
const registerPage = new RegisterPage(page);
await loginPage.goto();
@ -15,7 +15,7 @@ test("ON-5 Sign up with invalid email address",async ({page}) => {
await registerPage.isCreateAccountBtnDisabled();
});
test("ON-6 Sign up with no password", async ({page}) => {
test("ON-6 Sign up with no password", async ({ page }) => {
const loginPage = new LoginPage(page);
const registerPage = new RegisterPage(page);
await loginPage.goto();
@ -29,7 +29,7 @@ test("ON-6 Sign up with no password", async ({page}) => {
await registerPage.isCreateAccountBtnDisabled();
});
test("ON-7 Sign up with incorrect password", async ({page}) => {
test("ON-7 Sign up with incorrect password", async ({ page }) => {
const loginPage = new LoginPage(page);
const registerPage = new RegisterPage(page);
await loginPage.goto();