다운로드된 파일에 대한 검증

Prev Next

일부 웹사이트에서는 보고서 내보내기 또는 문서 저장 시 파일 다운로드가 발생합니다.

테스트에서는 파일이 실제로 다운로드되었는지, 파일명이 올바른지, 파일 내용이 예상과 일치하는지 등을 검증하고 싶을 수 있습니다.

이 페이지에서는 다운로드된 파일에 대해 검증(Assertion)하는 기본 코드 예시를 제공합니다.

설정 방법

우선, 파일 다운로드를 트리거하는 테스트 단계(일반적으로 다운로드 링크나 버튼을 클릭하는 “요소 클릭” 스텝)를 식별하세요.

그 단계 이전에, 다운로드 시작을 기다리는 Playwright 코드 스텝을 추가합니다.

const downloadPromise = page.waitForEvent("download");

그 다음, 클릭 스텝 이후에, 다운로드된 파일을 처리하고 검증하는 Playwright 코드 스텝을 추가하세요.

아래 예시는 다운로드된 파일의 내용을 메모리에 불러온 후, 해당 파일 안에 "Q2 report"라는 텍스트가 포함되어 있는지를 검증합니다.

const download = await downloadPromise;

const downloadStream = await download.createReadStream();
const fileContent = await new Promise((resolve) => {
  const chunks: Buffer[] = [];
  downloadStream.on("data", (chunk) => {
    chunks.push(chunk);
  });
  downloadStream.on("end", () => {
    resolve(Buffer.concat(chunks));
  });
});

// Example assertion — update this to match your use case
expect(fileContent.toString("utf-8")).toContain("Q2 report");

위 코드 스니펫은 다양한 방식으로 수정이 가능하며, 다운로드 및 다운로드된 파일과 관련된 다양한 항목들에 대한 검증에 사용할 수 있습니다.
Autify Nexus의 Playwright 스텝에서 어떤 다운로드 관련 동작을 구현할 수 있는지에 대한 더 많은 아이디어는 Playwright 공식 문서를 참고해 주세요.