refactor: Improve page load performance with lazy loading for images

This commit is contained in:
Simon Larsen
2024-06-21 18:04:09 +01:00
parent b197416247
commit 2a8c45cea0
3 changed files with 25 additions and 9 deletions

View File

@@ -32,8 +32,6 @@ jobs:
node-version: 18.3.0
- run: npm run prerun && bash ./Tests/Scripts/enable-billing-env-var.sh
- run: npm run dev
- name: Sleep for 10 minutes to wait for server to start
run: sleep 600
- name: Wait for server to start
run: bash ./Tests/Scripts/status-check.sh http://localhost
- name: Run E2E Tests. Run docker container e2e in docker compose file

View File

@@ -11,7 +11,7 @@ test.describe("Account Registration", () => {
}
// please make sure the dashboard is up before signing up the user.
const dashboardPageResult: Response | null = await page.goto(
let dashboardPageResult: Response | null = await page.goto(
URL.fromString(BASE_URL.toString()).addRoute("/dashboard").toString(),
);
@@ -19,19 +19,37 @@ test.describe("Account Registration", () => {
dashboardPageResult?.status() === 504 ||
dashboardPageResult?.status() === 502
) {
// reload page if it fails to load
await page.reload();
try {
// reload page if it fails to load
dashboardPageResult = await page.reload();
} catch (e) {
// reload page if it fails to load
dashboardPageResult = await page.goto(
URL.fromString(BASE_URL.toString()).addRoute("/dashboard").toString(),
);
}
}
const pageResult: Response | null = await page.goto(
let pageResult: Response | null = await page.goto(
URL.fromString(BASE_URL.toString())
.addRoute("/accounts/register")
.toString(),
);
while (pageResult?.status() === 504 || pageResult?.status() === 502) {
// reload page if it fails to load
await page.reload();
try {
// reload page if it fails to load
pageResult = await page.reload();
} catch (e) {
// reload page if it fails to load
pageResult = await page.goto(
URL.fromString(BASE_URL.toString())
.addRoute("/accounts/register")
.toString(),
);
}
}
await page.getByTestId("email").click();

View File

@@ -12,7 +12,7 @@ import { defineConfig, devices } from "@playwright/test";
export default defineConfig({
testDir: "./Tests",
/* Maximum time one test can run for. */
timeout: 120 * 1000,
timeout: 240 * 1000,
// globalTimeout: 600 * 1000,
expect: {
/**