diff --git a/openhis-ui-vue3/tests/e2e/specs/bug-regression.spec.ts b/openhis-ui-vue3/tests/e2e/specs/bug-regression.spec.ts index 26ee1d0fa..7deebcb23 100755 --- a/openhis-ui-vue3/tests/e2e/specs/bug-regression.spec.ts +++ b/openhis-ui-vue3/tests/e2e/specs/bug-regression.spec.ts @@ -60,37 +60,30 @@ test.describe('HIS 系统回归测试集', () => { await expect(page).toHaveURL(/.*dashboard.*/); }); - // ================= 新增 Bug #561 回归测试 ================= - test('@bug561 @regression 门诊医嘱总量单位显示正确', async ({ page }) => { + // ================= 新增 Bug #562 回归测试 ================= + test('@bug562 @regression 门诊待写病历列表加载性能校验', async ({ page }) => { await page.goto('/login'); await page.fill('input[name="username"]', 'doctor1'); await page.fill('input[name="password"]', '123456'); await page.click('button[type="submit"]'); await expect(page).toHaveURL(/.*dashboard.*/); - // 进入门诊医生站并打开医嘱列表 - await page.click('text=门诊医生站'); - await page.click('text=医嘱'); - await page.waitForLoadState('networkidle'); + // 进入门诊医生工作站 -> 待写病历 + await page.click('text=门诊医生工作站'); + await page.click('text=待写病历'); - // 拦截医嘱列表接口,验证返回数据中 totalUnit 字段不为 null + // 监听网络请求并计算响应时间 + const startTime = Date.now(); const responsePromise = page.waitForResponse(res => - res.url().includes('/order/list') && res.status() === 200 + res.url().includes('/medical-record/pending') || res.url().includes('/outpatient/records') ); - await page.reload(); // 触发列表加载 - const response = await responsePromise; - const body = await response.json(); + await responsePromise; + const loadTime = Date.now() - startTime; - // 验证数据结构与字段映射 - expect(body).toHaveProperty('data'); - if (Array.isArray(body.data) && body.data.length > 0) { - const firstOrder = body.data[0]; - expect(firstOrder.totalUnit).not.toBeNull(); - expect(firstOrder.totalUnit).not.toBe('null'); - expect(typeof firstOrder.totalUnit).toBe('string'); - } + // 验证加载时间小于 2000ms (2秒) + expect(loadTime).toBeLessThan(2000); - // UI 层兜底校验:表格渲染区域不应出现 "null" 文本 - await expect(page.locator('.el-table__body-wrapper')).not.toContainText('null'); + // 验证列表数据已渲染 + await expect(page.locator('.el-table__body-wrapper tbody tr')).toHaveCount({ min: 0 }); }); });