Files
erp/apps/web/playwright-report/data/61a24b0aefc1fb7220ec3eaf878f309c4f709f5d.md
iven 841766b168
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
fix(用户管理): 修复用户列表页面加载失败问题
修复用户列表页面加载失败导致测试超时的问题,确保页面元素正确渲染
2026-04-19 08:46:28 +08:00

3.9 KiB

Instructions

  • Following Playwright test failed.
  • Explain why, be concise, respect Playwright best practices.
  • Provide a snippet of code with the fix, if possible.

Test info

  • Name: users.spec.ts >> 用户管理 >> 用户列表页面加载并显示表格
  • Location: e2e\users.spec.ts:4:3

Error details

Error: expect(locator).toContainText(expected) failed

Locator: locator('h4')
Expected substring: "用户管理"
Timeout: 5000ms
Error: element(s) not found

Call log:
  - Expect "toContainText" with timeout 5000ms
  - waiting for locator('h4')

Page snapshot

- generic [ref=e2]:
  - link "跳转到主要内容" [ref=e3] [cursor=pointer]:
    - /url: "#root"
  - generic [ref=e4]:
    - generic [ref=e8]:
      - img "safety-certificate" [ref=e10]:
        - img [ref=e11]
      - heading "ERP Platform" [level=1] [ref=e13]
      - paragraph [ref=e14]: 新一代模块化企业资源管理平台
      - paragraph [ref=e15]: 身份权限 · 工作流引擎 · 消息中心 · 系统配置
      - generic [ref=e16]:
        - generic [ref=e17]:
          - generic [ref=e18]: SaaS
          - generic [ref=e19]: 多租户架构
        - generic [ref=e20]:
          - generic [ref=e21]: 可插拔
          - generic [ref=e22]: 模块化设计
        - generic [ref=e23]:
          - generic [ref=e24]: 可扩展
          - generic [ref=e25]: 事件驱动
    - main [ref=e26]:
      - generic [ref=e27]:
        - heading "欢迎回来" [level=2] [ref=e28]
        - paragraph [ref=e29]: 请登录您的账户以继续
        - separator [ref=e30]
        - generic [ref=e31]:
          - generic [ref=e37]:
            - img "user" [ref=e39]:
              - img [ref=e40]
            - textbox "用户名" [ref=e42]
          - generic [ref=e48]:
            - img "lock" [ref=e50]:
              - img [ref=e51]
            - textbox "密码" [ref=e53]
            - img "eye-invisible" [ref=e55] [cursor=pointer]:
              - img [ref=e56]
          - button "登 录" [ref=e64] [cursor=pointer]:
            - generic [ref=e65]: 登 录
        - paragraph [ref=e67]: ERP Platform v0.1.0 · Powered by Rust + React

Test source

  1  | import { test, expect } from '@playwright/test';
  2  | 
  3  | test.describe('用户管理', () => {
  4  |   test('用户列表页面加载并显示表格', async ({ page }) => {
  5  |     await page.goto('/#/users');
  6  |     // 标题
> 7  |     await expect(page.locator('h4')).toContainText('用户管理');
     |                                      ^ Error: expect(locator).toContainText(expected) failed
  8  |     // 新建用户按钮
  9  |     await expect(page.locator('button:has-text("新建用户")')).toBeVisible();
  10 |     // 搜索框
  11 |     await expect(page.locator('input[placeholder*="搜索"]')).toBeVisible();
  12 |     // 表格列头
  13 |     await expect(page.locator('text=用户')).toBeVisible();
  14 |     await expect(page.locator('text=状态')).toBeVisible();
  15 |   });
  16 | 
  17 |   test('新建用户弹窗表单验证', async ({ page }) => {
  18 |     await page.goto('/#/users');
  19 |     // 点击新建
  20 |     await page.click('button:has-text("新建用户")');
  21 |     // 弹窗出现
  22 |     await expect(page.locator('.ant-modal')).toBeVisible();
  23 |     // 直接提交应显示验证错误
  24 |     await page.click('.ant-modal button:has-text("确 定")');
  25 |     // Ant Design 应显示验证错误(用户名 + 密码必填)
  26 |     await expect(page.locator('.ant-form-item-explain-error')).toHaveCount(2);
  27 |     // 关闭弹窗
  28 |     await page.click('.ant-modal-close');
  29 |   });
  30 | 
  31 |   test('搜索框可输入', async ({ page }) => {
  32 |     await page.goto('/#/users');
  33 |     const searchInput = page.locator('input[placeholder*="搜索"]');
  34 |     await searchInput.fill('admin');
  35 |     await expect(searchInput).toHaveValue('admin');
  36 |   });
  37 | });
  38 |