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:
김보곤
2026-02-26 16:59:21 +09:00
parent 969b119f99
commit 95b7c4afe3
457 changed files with 19967 additions and 1 deletions

View File

@@ -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');
},