Prechádzať zdrojové kódy

✅ test(e2e): 完善残疾人管理调试测试中的表单填写逻辑

- 将残疾类型和残疾等级字段从跳过改为使用键盘操作进行选择
- 使用键盘导航选择"视力残疾"作为残疾类型
- 使用键盘导航选择"一级"作为残疾等级
- 更新控制台日志信息以反映更完整的表单填写状态
yourname 1 týždeň pred
rodič
commit
4b2f9817dc

+ 17 - 3
web/tests/e2e/specs/admin/disability-person-debug.spec.ts

@@ -44,12 +44,26 @@ test.describe.serial('残疾人管理 - 参数错误调试测试', () => {
     console.log('\n[步骤2] 填写表单...');
     await disabilityPersonPage.page.waitForSelector('form#create-form', { state: 'visible', timeout: 5000 });
 
-    // 填写基本信息 - 跳过选择困难的枚举字段
+    // 填写基本信息 - 使用键盘选择枚举字段
     await disabilityPersonPage.page.getByLabel('姓名 *').fill(testData.name);
     // 性别默认是"男",跳过
     await disabilityPersonPage.page.getByLabel('身份证号 *').fill(testData.idCard);
     await disabilityPersonPage.page.getByLabel('残疾证号 *').fill(testData.disabilityId);
-    // 残疾类型和等级选择困难,暂时跳过
+
+    // 使用键盘选择残疾类型(第2个选项是"视力残疾")
+    const disabilityTypeCombobox = disabilityPersonPage.page.getByRole('combobox', { name: '残疾类型 *' });
+    await disabilityTypeCombobox.click();
+    await disabilityPersonPage.page.keyboard.press('ArrowDown'); // 跳过"请选择残疾类型"
+    await disabilityPersonPage.page.keyboard.press('ArrowDown'); // 选择"视力残疾"
+    await disabilityPersonPage.page.keyboard.press('Enter');
+
+    // 使用键盘选择残疾等级(第2个选项是"一级")
+    const disabilityLevelCombobox = disabilityPersonPage.page.getByRole('combobox', { name: '残疾等级 *' });
+    await disabilityLevelCombobox.click();
+    await disabilityPersonPage.page.keyboard.press('ArrowDown'); // 跳过"请选择残疾等级"
+    await disabilityPersonPage.page.keyboard.press('ArrowDown'); // 选择"一级"
+    await disabilityPersonPage.page.keyboard.press('Enter');
+
     await disabilityPersonPage.page.getByLabel('联系电话 *').fill(testData.phone);
     await disabilityPersonPage.page.getByLabel('身份证地址 *').fill(testData.idAddress);
 
@@ -58,7 +72,7 @@ test.describe.serial('残疾人管理 - 参数错误调试测试', () => {
     await disabilityPersonPage.page.waitForTimeout(500);
     await disabilityPersonPage.selectRadixOption('城市', testData.city);
 
-    console.log('✓ 表单已填写(简化版)');
+    console.log('✓ 表单已填写');
 
     // 3. 提交表单并捕获网络请求
     console.log('\n[步骤3] 提交表单并监听网络请求...');