2013-06-14 4 views
8

HTML 5 File API를 사용하여 파일을 업로드하기위한 자바 스크립트 단위 테스트를 수행하는 방법이 있습니까? 예를 들어 나는 코드가 있습니다HTML5 파일 업로드의 단위 테스트

<form method="POST" enctype="multipart/form-data"> 
    <input type="file" id="fileselect" name="fileselect[]" multiple="multiple"/> 
</form> 

<script type="text/javascript"> 
    function fileSelectHandler(e) { 
     var files = e.target.files || e.dataTransfer.files; 
     // at this point, files is a FileList object 
    } 

    var fileselect = document.getElementById("fileselect"); 
    fileselect.addEventListener("change", fileSelectHandler, false); 
</script> 

그래서 내가 자바 스크립트로이 문제를 자동화 할을, 그래서 단위 테스트 그것을 할 수 있습니다. 그래서 나는 change 이벤트를 실행하고 파일을 어떻게 든 전달해야합니다. 결국, 각 파일은 원하는 사용자 정의 경로로 HTML 5 File 객체 여야합니다.

+2

이 당신이 어떤 종류의 브라우저 확장을 필요 했어하려면 자바 스크립트와'file' 입력 값을 설정할 수 없습니다. 그러나 브라우저의 입력 기능을 테스트하려고하는 이유는 무엇입니까? 테스트의 일부로 파일 객체를 사용하는 것이 아닌 이유는 무엇입니까? – robertc

+0

Robert, 내 '복잡한'코드는 FileList 변수로 시작합니다. FileList를 하드 디스크의 실제 파일을 가리키는 File 객체의 목록으로 만드는 방법은 무엇입니까? – StefanH

+0

나는 이미 할 수 없다고했지만, 가능하다해도'input' 요소가있는 파일을 선택하는 테스트가 실패하면, 그 응용 프로그램에 대해 무엇을 증명할 수 있을까요? C++ 패치를 다양한 브라우저 공급 업체에 보낼 계획입니까? – robertc

답변

0

파이어 폭스에 iMacros를 사용하는 것이 도움이 될지 모르겠다. 원하는 모든 것을 수행하는 매크로를 기록한 다음 원하는만큼 자주 실행할 수 있습니다. 거의 모든 UI 테스트를 위해 사용하기 쉽고 작동합니다.

iMacros firefox plugin