2016-12-07 3 views
0

파일을 다운로드하고 내용을 테스트하기 위해 기능 테스트를 작성해야하는 요구 사항이 있습니다. 그래서 두 부분이 있다고 말할 수 있습니다. 1) 링크를 클릭하면 파일을 다운로드하십시오. 2) 파일을 읽고 내용을 확인하십시오. 그것의 csv 파일, 그래서 아마도 콘텐츠를 조작 할 수 있습니다.인턴 프레임 워크를 사용하여 파일 다운로드를 테스트하려면 어떻게합니까?

답변

2

이렇게하는 데는 몇 가지 문제가 있습니다. 하나는 원격 시스템에서 브라우저를 실행하는 경우 Intern을 실행하는 시스템으로 파일을 다시 가져 오는 방법이 필요하다는 것입니다. 두 번째 문제는 다운로드 한 파일이 다운로드 될 때 어디서 파일이 끝났는지를 알아야한다는 것입니다. 세 번째 문제는 일부 브라우저 (FF와 IE)가 Selenium이 처리 할 수없는 OS 레벨 대화 상자를 열어 놓는다는 것입니다.

첫 번째 질문은 다음과 같습니다. 브라우저에서 파일을 정말로 다운로드해야합니까? 브라우저가 아닌 서비스를 테스트하는 것처럼 들리지만,이 경우 인턴을 사용하여 파일을 다운로드하고 거기에서 검사 할 수 있습니다.

브라우저를 통해 파일을 다운로드해야한다고 가정하면 확인 대화 상자를 열지 않고 언급 된 3 가지 문제 중 2 가지를 처리하는 알려진 위치로 파일을 다운로드하도록 브라우저를 구성 할 수 있어야합니다 위. 내가 실제로 이것을 테스트하지는 않았다는 것에 유의하십시오.

Firefox에서는 test profile and use it when running tests을 설정할 수 있습니다.

  • browser.download.dir : '폴더를 다운로드 경로'
  • browser.download.folderList : 당신은 가능성이 다음과 같은 속성을 구성해야합니다
  • browser.download.manager.showWhenStarting '텍스트/CSV':
  • browser.helperApps.neverAsk.saveToDisk이 거짓

Chrome의 경우 environment descriptor을 통해 옵션을 전달합니다. 특정 옵션은 다음과 같아야합니다

  • 'profile.default_content_settings.popups': 0
  • 'download.default_directory': 'path to download folder'

는 한 설치하면 브라우저가, 테스트 코드는 다음 링크를 클릭 (시간의 불확정 시간 동안 기다릴 필요 Selenium은 다운로드 진행 데이터를 제공하지 않습니다.) 네트워크 테스트 나 로컬 파일 작업을 통해 인턴 테스트 자체에서 파일을 가져 와서 검사합니다.

+0

예 콘텐츠에 대한 서비스를 테스트해야한다는 것에 동의합니다. 그러나 우리는 UI에서 다운로드가 제대로 작동하는지 테스트하기 위해 엔드 투 엔드 테스트가 필요합니다. 이는 매우 중요한 기능입니다. 지금이 질문을 답으로 받아 들여서 테스트 해 볼 때까지 – Mahesh