브라우저 / 중급 / 읽는 시간: 15분
REA 브라우저 분석: 내보내기 후 무슨 일이 일어날까요?
REA로 브라우저의 내보내기 동작을 분석하세요. 요청을 로드된 코드와 연결하고 서버 없이 페이지에서 다운로드를 생성하는 경우를 찾아봅니다.
이 페이지의 내용
내보내기 동작과 관찰된 요청 또는 클라이언트 다운로드 경로를 연결하는 간단한 시간순 기록입니다.
준비물격리된 디버깅 프로필의 Chromium 브라우저, 직접 제어하는 페이지, REA가 필요합니다. 표시된 실행 명령은 macOS Chrome용입니다.
01. 격리된 브라우저 세션 시작하기
별도의 디버깅 프로필에서 로컬 애플리케이션을 여세요. 이렇게 하면 선택한 페이지와 테스트 데이터를 명확히 구분할 수 있습니다. 마지막 URL을 자신의 로컬 앱 주소로 바꾸세요. Windows나 Linux에서는 해당 Chrome 실행 파일을 사용하세요.
디버깅 엔드포인트는 브라우저 제어 연결이며 애플리케이션 URL과 다릅니다. 루프백 주소의 리터럴과 REA가 반환한 대상 ID를 사용하세요.
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
--remote-debugging-port=9222 \
--user-data-dir=/tmp/rea-export-profile \
http://127.0.0.1:300002. 정확한 페이지 선택하기
대상 목록을 확인하고 애플리케이션 URL을 찾아 대상 ID를 복사하세요. 실험을 시작하기 전에 해당 페이지를 분석하세요. 탭이 새로고침되거나 교체되면 오래된 ID를 재사용하지 말고 대상 목록을 다시 조회하세요.
npx -y [email protected] list-browser-targets http://127.0.0.1:9222 --json
npx -y [email protected] inspect-web-page http://127.0.0.1:9222 TARGET_ID --observation-ms 1000 --json03. 기준 상태 기록 후 내보내기 한 번 수행하기
먼저 짧은 유휴 구간을 기록해 백그라운드 폴링을 확인하세요. 그런 다음 두 번째 관찰을 시작하고 관찰 구간 중 직접 내보내기를 누르세요. REA의 수동 관찰 도구는 대신 버튼을 누르지 않습니다.
고유 테스트 표식이 있는 두 행처럼 작고 알아보기 쉬운 입력을 사용하세요. 앱이 로딩 표시를 보이는지, 파일을 다운로드하는지, 오류를 보고하는지 기록하세요. 새 요청이 모두 내보내기에서 발생했다고 가정하지 말고 두 캡처를 비교하세요.
npx -y [email protected] observe-web-session http://127.0.0.1:9222 TARGET_ID --observation-ms 10000 --json > export-capture.json- 동작 후 요청이 시작되나요?
- 요청 메서드, URL, 보고된 상태는 무엇인가요?
- 요청 시작 주체나 로드된 스크립트로 버튼과 연결할 수 있나요?
- 다운로드 파일이 실제로 생성되었으며 테스트 행이 들어 있나요?
04. 요청이 없다면 클라이언트 경로 확인하기
일부 내보내기는 JavaScript로 Blob을 만들고 서버 요청 없이 다운로드합니다. 따라서 빈 요청 목록은 캡처 실패의 증거가 아니라 유용한 단서입니다. 로드된 스크립트를 분석하고 관련 기능에서 Blob, createObjectURL, download 속성을 찾으세요.
번들 분석은 정적 후보를 보고합니다. 엔드포인트처럼 보이는 문자열이 있다고 호출되었다는 증거는 아닙니다. 관찰한 요청과 소스에서 확인한 사실을 별도 열로 기록하세요.
npx -y [email protected] analyze-web-bundle http://127.0.0.1:9222 TARGET_ID --json선택한 페이지와 이 내보내기 캡처를 사용해 내보내기가 서버에서 생성한 파일을 요청하는지 브라우저에서 파일을 만드는지 설명하세요. 관찰된 활동을 관련 로드 코드와 연결하세요. 부족한 근거를 명시하세요. 메타데이터만으로 응답 내용을 추론하지 마세요.05. 까다로운 입력으로 반복하기
쉼표, 따옴표, 줄바꿈이 들어 있는 행을 내보내세요. 텍스트 편집기뿐 아니라 해당 형식의 파서로 결과 파일을 여세요. 다운로드가 성공해도 파일 인코딩이 올바르다고 입증되지는 않습니다.
동작의 시간순 기록, 선택한 요청 또는 클라이언트 함수, 파일 검증 결과를 전달하세요. 자신의 대상에 적용할 수 있는 재현 가능한 절차이며 이 글에 제3자 서비스의 캡처 세션이 포함된 것은 아닙니다.
명령은 REA 6.4.0 기준으로 확인했습니다. 대상별 결과는 아티팩트와 프로바이더에 따라 달라집니다. 원본 자료와 검증 범위 읽기 →