2017-02-14 2 views
0

테스트는 다운로드 템플릿 링크를 클릭하여 파일을 다운로드하는 것입니다. 로컬 컴퓨터에서 스크립트를 실행하면 완벽하게 작동합니다. 다운로드 폴더를 만들 수 있으며 다운로드 한 파일은 새로 생성 된 "다운로드"폴더에 저장됩니다. 그러나 젠킨스 파이프 라인에이 파일을 통합하면 생성 된 폴더가없고 파일도 다운로드되지 않습니다. 참고 : jenkins 파이프 라인에서 스크립트는 셀렌 그리드에서 크롬을 사용하여 실행됩니다. 크롬 드라이버의 구성을 참조하십시오.Selenium : Jenkins 파이프 라인에서 다운로드 할 폴더와 파일을 만들 수 없습니다.

HashMap<String, Object> chromePrefs = new HashMap<String, Object>(); 
chromePrefs.put("profile.default_content_settings.popups", 0); 
chromePrefs.put("download.default_directory", System.getProperty("user.dir") + "\\src\\main\\resources\\downloads"); 
ChromeOptions options = new ChromeOptions(); 
HashMap<String, Object> chromeOptionsMap = new HashMap<String, Object>(); 
options.setExperimentalOption("prefs", chromePrefs); 
options.addArguments("--test-type"); 
DesiredCapabilities cap = DesiredCapabilities.chrome(); 
cap.setCapability(ChromeOptions.CAPABILITY, chromeOptionsMap); 
cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); 
cap.setCapability(ChromeOptions.CAPABILITY, options); 
driver = new RemoteWebDriver(new URL(seleniumGridUrl), cap); 

답변

0

테스트에서 다운로드 한 파일의 내용을 확인하지 않으려면 일종의 바이 패스 방식을 사용하는 것이 좋습니다. HTTP 라이브러리를 사용하면 리소스에 Head http 호출을 실행할 수 있습니다. 다운로드해야합니다. 응답에서 파일 형식과 크기를 가져옵니다. 테스트에서 파일 다운로드에 대한 액세스의 정확성을 검증하기 위해 테스트를 수행합니다. 나는 당신이 얻는 이슈가 어떻게 든 권한과 연결된다고 생각한다. 환경에서 테스트가 실행되는 폴더/파일을 만들 수 없다.

관련 문제