[JavaScript2020] CodeceptJS를 통해 파일 다운로드
3948 단어 JavaScriptPlaywrightCodeceptJS
JavaScript 소재이기 때문에 뒤JavaScript 활동 캘린더 25일째에도 등록을 시도했습니다.
CodeceptJS 사용
이전에 각종 자동화를 시도할 때 사용한 것 중 하나는 "CodeceptJS"였다.
그때는 각각 Puppeter, Playwright, WebDriver와의 조합을 시도했고 주로 Puppeter와의 조합을 사용했다.
이런 상황에서 아래의 기사를 보고 Playwright와의 조합 등을 재검토하고 시도하는 동시에 이전에 시도하지 않았던 파일의 다운로드도 시도했다.
●2020년 12월까지 퍼페터와 플레이라이트는 어떤 것이 좋을까요? -Qiita
https://qiita.com/YusukeIwaki/items/a9dbd48b1ed4313f3815
이 파일 다운로드와 관련하여 자신이 쓰는 노트에 남기고 싶은 것이 바로 이 글입니다.
CodeceptJS에서 파일 다운로드
codecept.conf.js의 추론
아래 페이지 정보 등을 보면 파일을 다운로드하는 경우codecept.conf.js에
"FileSystem": {}
내용을 기재할 필요가 있을 것 같습니다.●"I.amInPath is not a function"on using FileSystem helper · Issue #931 · codeceptjs/CodeceptJS
https://github.com/codeceptjs/CodeceptJS/issues/931
구체적으로 말하면 코드cept.conf.js에서 다음과 같은 추서를 진행하였다.
helpers: {
Playwright: {
【(省略)】
},
"FileSystem": {}
프로그램 섹션
파일의 다운로드에 대해 페이지 안에 어떤 파일을 가리키는 링크가 있고 이 파일을 클릭하는 동작을 통해 다운로드를 실행할 수 있는 상황을 구상했다.만약 그 페이지에서 간단하게 링크를 클릭하기만 한다면 아래의 모습으로 변할 것이다.
I.click('【(クリック対象となるテキスト)】');
파일 다운로드와 관련된 정보에서 공식 문서를 보고 다음과 같은 부분을 발견했다.●Playwright | CodeceptJS
https://codecept.io/helpers/Playwright/#handledownloads
다운로드 대상은 pptx, 01입니다.pptx라는 파일 이름으로 저장된 경우, 예를 들어 다음과 같이 하면 됩니다.
I.handleDownloads('files/01.pptx');
I.click('【(クリック対象となるテキスト)】');
I.amInPath('output');
I.waitForFile('files/01.pptx', 5);
이로써 output 폴더의 하위 폴더'files'에서 01.pptx 저장이 확인되었습니다.
Reference
이 문제에 관하여([JavaScript2020] CodeceptJS를 통해 파일 다운로드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/youtoy/items/7e1c398c29e07f8bd79b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)