test: drop MOICEN_E2E_EXPECTED_REAL_NAME; assert 欢迎回来 without real_name
Made-with: Cursor
This commit is contained in:
@@ -1,5 +1,3 @@
|
||||
# 复制为 .env.e2e(已 gitignore)
|
||||
MOICEN_E2E_UNIONID=
|
||||
# 可选:与 UC 中 real_name 一致,用于断言「欢迎回来,{姓名}」(如 阿难)
|
||||
MOICEN_E2E_EXPECTED_REAL_NAME=
|
||||
HUIKE_FRONT_BASE_URL=https://music-room.moicen.com
|
||||
|
||||
@@ -50,5 +50,4 @@ jobs:
|
||||
- name: Playwright
|
||||
env:
|
||||
MOICEN_E2E_UNIONID: ${{ secrets.MOICEN_E2E_UNIONID }}
|
||||
MOICEN_E2E_EXPECTED_REAL_NAME: ${{ secrets.MOICEN_E2E_EXPECTED_REAL_NAME }}
|
||||
run: npx playwright test
|
||||
|
||||
@@ -12,7 +12,7 @@ npx playwright test
|
||||
|
||||
走代理安装(默认 `http://localhost:7890`):`npm run install:with-proxy`
|
||||
|
||||
可选:复制 `.env.e2e.example` → `.env.e2e`,填写 **`MOICEN_E2E_UNIONID`**;若要断言首页展示 **本人姓名**,再加 **`MOICEN_E2E_EXPECTED_REAL_NAME`**(与库 `hty_users.real_name` 一致,如 `阿难`)。勿提交 `.env.e2e`。
|
||||
可选:复制 `.env.e2e.example` → `.env.e2e`,填写 **`MOICEN_E2E_UNIONID`**(仅此一项敏感凭据即可跑登录链与串号用例)。**不必**配置 `real_name`:姓名非唯一标识、会变,断言「欢迎回来」等 UI 即可。勿提交 `.env.e2e`。
|
||||
|
||||
用例概览:
|
||||
|
||||
@@ -20,13 +20,13 @@ npx playwright test
|
||||
|------|------|
|
||||
| `tests/guest-onboarding.spec.ts` | 未登录:仅见「请返回微信小程序完成登录」,不出现已登录工作台 |
|
||||
| `tests/home-shell.spec.ts` | `#app`、伪造 unionid 不白屏、`page_path` 净化 |
|
||||
| `tests/logged-in-and-isolation.spec.ts` | 需 Secret:登录后非访客态;URL 异主 unionid 剥离(串号防护);可选姓名断言 |
|
||||
| `tests/logged-in-and-isolation.spec.ts` | 需 Secret:登录后非访客态;异主 unionid 剥离;多角色选身份后见「欢迎回来」(不校验姓名) |
|
||||
|
||||
未配置 `MOICEN_E2E_UNIONID` 时,`logged-in-and-isolation` 内用例全部 skip。
|
||||
|
||||
## GitHub Actions
|
||||
|
||||
在 **Settings → Secrets → Actions** 配置 **`MOICEN_E2E_UNIONID`**(测试用户 `union_id`)。可选再配 **`MOICEN_E2E_EXPECTED_REAL_NAME`**,否则「欢迎回来 + 姓名」用例 skip。未配 unionid 时仅跑访客与壳层用例。
|
||||
在 **Settings → Secrets → Actions** 配置 **`MOICEN_E2E_UNIONID`** 即可。未配 unionid 时仅跑访客与壳层用例。
|
||||
|
||||
`workflow_dispatch` 可改目标 `base_url`;**默认定时:每天 06:30 UTC**(见 `.github/workflows/playwright-music-room.yml`)。
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import { test, expect } from '@playwright/test';
|
||||
|
||||
const moicenUnionid = process.env.MOICEN_E2E_UNIONID?.trim();
|
||||
const expectedRealName = process.env.MOICEN_E2E_EXPECTED_REAL_NAME?.trim();
|
||||
|
||||
test.describe('已登录用户与串号防护', () => {
|
||||
test.skip(!moicenUnionid, '需要 MOICEN_E2E_UNIONID(Secret 或 .env.e2e)');
|
||||
@@ -55,13 +54,9 @@ test.describe('已登录用户与串号防护', () => {
|
||||
).not.toBeVisible();
|
||||
});
|
||||
|
||||
test('可选:工作台「欢迎回来」展示配置的真实姓名(自己的数据)', async ({
|
||||
test('多角色时选身份后应出现欢迎语(不校验 real_name,避免与业务标识耦合)', async ({
|
||||
page,
|
||||
}) => {
|
||||
test.skip(
|
||||
!expectedRealName,
|
||||
'未设置 MOICEN_E2E_EXPECTED_REAL_NAME 时跳过(与库中 real_name 一致,如 阿难)'
|
||||
);
|
||||
const q = new URLSearchParams({
|
||||
unionid: moicenUnionid!,
|
||||
status: '2',
|
||||
@@ -73,9 +68,6 @@ test.describe('已登录用户与串号防护', () => {
|
||||
if (await page.getByText('请选择您的登录身份').isVisible().catch(() => false)) {
|
||||
await page.locator('.van-grid-item').first().click();
|
||||
}
|
||||
await expect(page.getByText('欢迎回来')).toBeVisible({ timeout: 120_000 });
|
||||
await expect(page.getByText(expectedRealName!)).toBeVisible({
|
||||
timeout: 30_000,
|
||||
});
|
||||
await expect(page.getByText(/欢迎回来/)).toBeVisible({ timeout: 120_000 });
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user