WIP Windows 통합 시험 회귀 (지시 10): 바뀐 동작 · 바깥 주소에 맞게 시험 3곳 고침 (검토 대기)

ab4d935 에서 integration_test 전부를 하나씩 -d windows 로 돌려 찾은 것 (앱 동작은 바꾸지 않음):
- browser_real: 137 뒤 [다운로드] 는 동영상을 찾은 페이지만 꽉 찬 버튼 (못 찾으면 테두리만) - 시험이 꽉 찬 버튼만 찾다 실패.
- tor_dns_real: 파일 링크 시험 주소 (dist.torproject.org 15.0.24 .asc) 가 404 (예전 판을 지움) → 오래 남는 archive 의 같은 파일.
- windows_check_shot 37: 서버만 (\NAS) · 없는 폴더는 창을 닫지 않고 칸 아래 알림 (146 · 37-2) - 시험이 창을 닫지 않아
  다음 입력 · 다음 크기에서 남은 창이 가렸다 → [취소] 로 닫고 다음으로.
(그 밖의 실패 6개는 회귀를 돌린 내 스크립트가 캡처 폴더를 미리 만들지 않은 탓 - 만든 뒤 모두 통과)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
묶음6
RyuJongJin 2026-10-17 18:00:19 +09:00
parent ab4d935fca
commit cd50edd666
3 changed files with 11 additions and 4 deletions

View File

@ -45,9 +45,9 @@ void main() {
for (var i = 0; i < 300 && !videoSeen; i++) { for (var i = 0; i < 300 && !videoSeen; i++) {
await tester.runAsync(() => Future<void>.delayed(const Duration(milliseconds: 100))); await tester.runAsync(() => Future<void>.delayed(const Duration(milliseconds: 100)));
await tester.pump(); await tester.pump();
final btn = tester.widget<FilledButton>(find.ancestor( // 137: 동영상을 찾은 페이지만 [다운로드] 가 꽉 찬 버튼 (못 찾으면 테두리만 있는 버튼)
of: find.text('다운로드'), matching: find.byWidgetPredicate((w) => w is FilledButton))); final filled = find.ancestor(of: find.text('다운로드'), matching: find.byWidgetPredicate((w) => w is FilledButton));
videoSeen = btn.onPressed != null; videoSeen = filled.evaluate().isNotEmpty && tester.widget<FilledButton>(filled.first).onPressed != null;
} }
// ignore: avoid_print // ignore: avoid_print
print('RESULT 동영상 감지(다운로드 버튼 켜짐): $videoSeen'); print('RESULT 동영상 감지(다운로드 버튼 켜짐): $videoSeen');

View File

@ -146,7 +146,8 @@ void main() {
expect(rtc, 'undefined'); expect(rtc, 'undefined');
// 5. 파일 링크: 받지 않고 안내 (Windows 는 packages/flutter_inappwebview_windows/JJ_PATCH.md 의 DownloadStarting) // 5. 파일 링크: 받지 않고 안내 (Windows 는 packages/flutter_inappwebview_windows/JJ_PATCH.md 의 DownloadStarting)
const fileUrl = 'https://dist.torproject.org/torbrowser/15.0.24/tor-expert-bundle-windows-x86_64-15.0.24.tar.gz.asc'; // dist.torproject.org 는 예전 판을 지운다 (10/17 15.0.24 가 404) - 오래 남는 archive 의 같은 파일 (833B, application/pgp-keys)
const fileUrl = 'https://archive.torproject.org/tor-package-archive/torbrowser/15.0.24/tor-expert-bundle-windows-x86_64-15.0.24.tar.gz.asc';
await tester.runAsync(() async => TorPage.debugNav?.load(fileUrl)); await tester.runAsync(() async => TorPage.debugNav?.load(fileUrl));
var told = false; var told = false;
for (var i = 0; i < 120 && !told; i++) { for (var i = 0; i < 120 && !told; i++) {

View File

@ -203,10 +203,16 @@ void main() {
await t.tap(find.widgetWithText(FilledButton, '확인')); await t.tap(find.widgetWithText(FilledButton, '확인'));
await settle(t, 6); await settle(t, 6);
await shot(t, '37_unc_server_only_$tag'); await shot(t, '37_unc_server_only_$tag');
// 서버만 넣으면 창이 닫히지 않고 그 자리에서 "공유 폴더 이름까지" 를 알린다 - 닫고 다음으로
await t.tap(find.widgetWithText(TextButton, '취소'));
await settle(t, 4);
await enter(p.join(tmp.path, '없는 폴더')); await enter(p.join(tmp.path, '없는 폴더'));
await t.tap(find.widgetWithText(FilledButton, '확인')); await t.tap(find.widgetWithText(FilledButton, '확인'));
await settle(t, 6); await settle(t, 6);
await shot(t, '37_missing_path_$tag'); await shot(t, '37_missing_path_$tag');
// 146 · 37-2: 없는 폴더도 창을 닫지 않고 칸 아래에 알린다 - 닫는다 (다음 크기에서 창이 남아 가리지 않게)
await t.tap(find.widgetWithText(TextButton, '취소'));
await settle(t, 4);
} }
} finally { } finally {
await t.pumpWidget(const SizedBox()); await t.pumpWidget(const SizedBox());