test: 增强Playwright E2E测试方案 - 新增手术计费/医生站/并发测试用例

- 新增页面对象: SurgeryBillingPage, DoctorStationPage
- 新增测试用例: 手术计费防重复(#437), 签发耗材验证(#443), 并发操作测试
- 增强登录测试: 多场景覆盖
- 完善测试数据工具: 支持多角色用户配置
- 清理冗余备份文件
This commit is contained in:
2026-04-25 22:04:36 +08:00
parent 46a7076460
commit 305ab15436
13 changed files with 361 additions and 2503 deletions

View File

@@ -2,7 +2,7 @@ import { test, expect } from '@playwright/test';
import { LoginPage } from '../pages/LoginPage';
import { TEST_USERS } from '../utils/test-data';
test.describe('登录模块', () => {
test.describe('🔐 登录模块', () => {
let loginPage: LoginPage;
test.beforeEach(async ({ page }) => {
@@ -10,18 +10,23 @@ test.describe('登录模块', () => {
await loginPage.goto();
});
test('用户登录成功', async ({ page }) => {
test('TC-LOGIN-001: 管理员正常登录 @smoke', async ({ page }) => {
await loginPage.login(TEST_USERS.admin.username, TEST_USERS.admin.password);
await loginPage.expectLoginSuccess();
});
test('登录失败-错误密码', async ({ page }) => {
await loginPage.login(TEST_USERS.admin.username, 'wrongpassword');
test('TC-LOGIN-002: 错误密码登录 @smoke', async ({ page }) => {
await loginPage.login(TEST_USERS.admin.username, 'wrong_password_123');
await loginPage.expectLoginFailed();
});
test('登录失败-空用户名', async ({ page }) => {
test('TC-LOGIN-003: 空用户名登录', async ({ page }) => {
await loginPage.login('', TEST_USERS.admin.password);
await loginPage.expectLoginFailed();
});
test('TC-LOGIN-004: 密码输入框可见性切换', async ({ page }) => {
const passwordInput = page.locator('input[placeholder*="密码"]');
await expect(passwordInput).toHaveAttribute('type', 'password');
});
});