test: E2E 6·7차 테스트 결과 및 개발팀 수정 요청서 (176 PASS / 8 FAIL)
- 6차 결과: 180/184 PASS (97.8%) - 시나리오 내성 강화 효과 - 7차 결과: 176/184 PASS (95.7%) - Board 삭제 리그레션 발생 - step-executor.js: wait_for_table allowEmpty 옵션 추가 - run-all.js: --iterate, --stage 모드 추가 - 개발팀 수정 요청서: BUG-BOARD-DELETE-001(신규), BUG-DEPOSIT-001, BUG-SALES-CALC-001 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -513,6 +513,8 @@
|
||||
level2: step.level2,
|
||||
script: step.script,
|
||||
duration: step.duration,
|
||||
timeout: step.timeout,
|
||||
allowEmpty: step.allowEmpty,
|
||||
verification: step.verification,
|
||||
verify: step.verify,
|
||||
expected: step.expected,
|
||||
@@ -937,6 +939,7 @@
|
||||
|
||||
async wait_for_table(action, ctx) {
|
||||
const timeout = action.timeout || 10000;
|
||||
const loopTimeout = action.allowEmpty ? Math.max(timeout - 2000, 3000) : timeout;
|
||||
const rowSelectors = [
|
||||
'table tbody tr',
|
||||
'[role="table"] [role="row"]',
|
||||
@@ -944,13 +947,16 @@
|
||||
'[class*="table"]:not([class*="tooltip"]) tbody tr',
|
||||
];
|
||||
const t0 = now();
|
||||
while (now() - t0 < timeout) {
|
||||
while (now() - t0 < loopTimeout) {
|
||||
for (const sel of rowSelectors) {
|
||||
const rows = document.querySelectorAll(sel);
|
||||
if (rows.length > 0) return pass(`Table loaded: ${rows.length} rows`);
|
||||
}
|
||||
await sleep(300);
|
||||
}
|
||||
if (action.allowEmpty) {
|
||||
return pass('Table loaded: 0 rows (allowEmpty)');
|
||||
}
|
||||
return fail('Timeout waiting for table data');
|
||||
},
|
||||
|
||||
|
||||
Reference in New Issue
Block a user