2014-04-18 12 views
0

더 나은 조직을 위해 많은 HTML 페이지가있는 프로젝트에서 라이브러리 (JS/CSS 파일)를 이동할 때 종종 최근에 이동 한 라이브러리에 의존하는 페이지가 나 수동으로 파일 경로를 업데이트하십시오.페이지에 깨진 JS/CSS가 있는지 테스트합니다.

헤드리스 브라우저를 실행하여 자동으로 페이지를 테스트하고 포함 된 JS/CSS 파일 404이 있으면 오류가 발생합니까? 나는 CasperJS, PhantomJS 및 몇 가지 다른 브라우저 테스트 프레임 워크를 보았지만 내가하고자하는 것을 찾을 수 없었다.

나는이 문제가 광범위하다고 여겨 질 수 있지만 나는 주제에 대해 완전히 분실되어 있고 어떤 조언도 감사 할 것임을 알고있다.

+0

아마도. 또는 Chrome을 열고 네트워크 탭을보고 404의 내용을 볼 수도 있습니다. – Jackson

+0

나는 언젠가 똑같이 해왔지만 여러 페이지 (50+)에서 똑같은 테스트를 빨리 되풀이 할 수 있기를 원합니다. – vivekagr

+1

PhantomJS에 대한 추가 정보 : ** 네트워크 모니터링 **. 성능 분석 자동화, [페이지로드] (https://github.com/ariya/phantomjs/wiki/Network-Monitoring) 추적 및 표준 HAR 형식으로 내보내기. – Jackson

답변

2

PhantomJS는 분명히 network monitoring을 제공합니다.

예 (netlog.js) :

var page = require('webpage').create(), 
    system = require('system'), 
    address; 

if (system.args.length === 1) { 
    console.log('Usage: netlog.js <some URL>'); 
    phantom.exit(1); 
} else { 
    address = system.args[1]; 

    page.onResourceRequested = function (req) { 
     console.log('requested: ' + JSON.stringify(req, undefined, 4)); 
    }; 

    page.onResourceReceived = function (res) { 
     console.log('received: ' + JSON.stringify(res, undefined, 4)); 
    }; 

    page.open(address, function (status) { 
     if (status !== 'success') { 
      console.log('FAIL to load the address'); 
     } 
     phantom.exit(); 
    }); 
} 

phantomjs를 설치하고 경로에 넣어. 위의 코드를 "netlog.js"로 저장하고 명령 줄에서 netlog.js가 들어있는 폴더로 이동하여 phantomjs netlog.js "http://www.example.com" 명령을 실행합니다.