Files
his/openhis-ui-vue3/tests/e2e/specs/debug-page.spec.ts
华佗 1d21661a78 feat: Spring Boot 3.5.14 全量升级 + 组件升级
核心升级:
- Spring Boot 2.7.18 → 3.5.14
- MyBatis Plus 3.5.5 → 3.5.16 (spring-boot3-starter)
- Springdoc 1.8.0 → 2.8.6 (OpenAPI 3)
- Flowable 6.8.0 → 7.1.0
- Druid 1.2.x → 1.2.28 (boot3-starter)
- kotlin-reflect 1.9.10 → 1.9.25

迁移适配:
- javax → jakarta 命名空间 (620+ 文件)
- Swagger 注解迁移到 OpenAPI 3 (@Tag/@Schema/@Operation/@Parameter)
- Spring Security 6.2 适配 (antMatchers→requestMatchers, EnableMethodSecurity)
- Druid 包名迁移 (boot→boot3)
- Redis 配置路径迁移 (spring.redis→spring.data.redis)
- Flyway 适配 (flyway-database-postgresql)
- Flowable 7.x 适配 (MULE_TASK_IMAGE 移除)

修复:
- spring-boot-maven-plugin 2.5.15→3.5.14 (SPI服务发现失效)
- mybatis-plus-boot-starter 3.5.5→3.5.16 (kotlin-reflect+fastjson2冲突)
- Flowable database-schema-update 启用自动建表

验证: 23/23 测试通过, 1374 API端点正常
2026-06-04 22:39:49 +08:00

42 lines
1.5 KiB
TypeScript

import { test, expect } from '@playwright/test';
test('debug page load', async ({ page }) => {
// 登录
await page.goto('http://localhost:81/');
const loginResp = await page.request.post('http://localhost:18082/openhis/login', {
data: { username: 'doctor1', password: '123456', tenantId: '1', code: '', uuid: '' }
});
const loginData = await loginResp.json();
await page.context().addCookies([{
name: 'Admin-Token',
value: loginData.token,
domain: 'localhost',
path: '/'
}]);
// 导航到门诊医生站
await page.goto('http://localhost:81/clinicManagement/doctorStation');
await page.waitForLoadState('networkidle');
await page.waitForTimeout(8000); // 等待更长时间
// 获取页面 HTML
const html = await page.content();
console.log('=== HTML 长度:', html.length);
console.log('=== 前 3000 字符 ===');
console.log(html.substring(0, 3000));
console.log('=== 检查 Vue app ===');
const appExists = await page.evaluate(() => !!document.querySelector('#app'));
console.log('App exists:', appExists);
const appChildren = await page.evaluate(() => document.querySelector('#app')?.children.length || 0);
console.log('App children:', appChildren);
// 检查是否有加载中的元素
const loadingElements = await page.evaluate(() => {
const els = document.querySelectorAll('.loading, .el-loading, [class*="loading"]');
return els.length;
});
console.log('Loading elements:', loadingElements);
await page.screenshot({ path: '/tmp/debug-page.png', fullPage: true });
});