app-template/e2e/home.spec.ts

27 lines
1.1 KiB
TypeScript

import { expect, test } from "@playwright/test";
test("中文首页渲染 hero 与 CTA", async ({ page }) => {
await page.goto("/zh-CN");
const h1 = page.getByRole("heading", { level: 1 });
await expect(h1).toContainText("私有影音库");
await expect(h1).toContainText("弹幕观影");
await expect(page.getByRole("link", { name: "登录 / 注册" })).toBeVisible();
await expect(page.getByRole("link", { name: "打开媒体库" })).toBeVisible();
});
test("英文首页渲染英文文案", async ({ page }) => {
await page.goto("/en");
const h1 = page.getByRole("heading", { level: 1 });
await expect(h1).toBeVisible();
await expect(h1).not.toContainText("应用");
await expect(page.getByRole("link", { name: "登录 / 注册" })).toHaveCount(0);
});
test("首页无客户端控制台错误", async ({ page }) => {
const errors: string[] = [];
page.on("pageerror", (err) => errors.push(err.message));
await page.goto("/zh-CN");
await page.waitForLoadState("networkidle");
expect(errors).toEqual([]);
});