Web 端 (Playwright): - fixtures: test-data 工厂 + API Client (乐观锁 version) + 增强 auth fixture - pages: LoginPage, PatientListPage, PatientDetailPage, HealthDataPage, AppointmentPage - flows: 患者全流程, 体征数据链路, 预约排班链路, 随访管理链路, 告警处理链路 - smoke tests 迁移到 smoke/ 目录,import 路径更新 - playwright.config.ts 更新: globalSetup 环境检查, 60s timeout, video retain 小程序端 (Vitest + miniprogram-automator): - helpers: AutomatorClient, MpApiClient, MpAuthHelper, MpNavigator - flows: 患者健康数据查看, 体征数据录入, 积分签到兑换, 积分商城浏览 - vitest.config.ts + check-readiness.ts - vitest 4.1.5 依赖安装 Playwright 发现 15 个测试 (5 flow + 10 smoke),全部就绪
42 lines
1.3 KiB
TypeScript
42 lines
1.3 KiB
TypeScript
// apps/miniprogram/e2e/flows/mall-flow.spec.ts
|
|
import { describe, it, expect, beforeAll, afterAll } from 'vitest';
|
|
import { AutomatorClient } from '../helpers/automator-client';
|
|
import { MpAuthHelper } from '../helpers/auth.helper';
|
|
import { MpApiClient } from '../helpers/api-client';
|
|
import { MpNavigator } from '../helpers/navigation.helper';
|
|
|
|
describe('积分商城浏览链路', () => {
|
|
let client: AutomatorClient;
|
|
let auth: MpAuthHelper;
|
|
let nav: MpNavigator;
|
|
|
|
beforeAll(async () => {
|
|
const api = new MpApiClient();
|
|
client = new AutomatorClient();
|
|
await client.connect();
|
|
auth = new MpAuthHelper(client, api);
|
|
nav = new MpNavigator(client);
|
|
await auth.loginAsTestPatient();
|
|
}, 30_000);
|
|
|
|
afterAll(async () => {
|
|
await client.disconnect();
|
|
});
|
|
|
|
it('商城首页加载', async () => {
|
|
await nav.goToMall();
|
|
const el = await client.waitForElement('.container', 5000);
|
|
expect(el).toBeDefined();
|
|
});
|
|
|
|
it('浏览商品分类', async () => {
|
|
const tabs = await client.getElements('.tab-item, .category-item, .ant-tabs-tab');
|
|
if (tabs.length > 1) {
|
|
await tabs[1].tap();
|
|
await new Promise((r) => setTimeout(r, 1000));
|
|
}
|
|
const pageData = await client.getPageData();
|
|
expect(pageData).toBeDefined();
|
|
});
|
|
});
|