2014-03-29 2 views
1

'test'개체를 연 후에 어떻게 저장할 수 있습니까? 예를 들어 :Dalekjs 터미널에 저장하는 방법

module.exports = { 
    'Page title is correct': function (test) { 
    test 
     .open('http://google.com') 
     // save content of test the HTML DOM 
     .assert.title().is('Google', 'It has title') 
     .done(); 
    } 
}; 

아니면 phantomJS 그것은 수와 직접 상호 작용하는? 이 같은 일을하는 DalekJS의 주요 목적은 아니다

답변

1

하더라도,과 같이 그것을 기술적으로 가능하다 :

module.exports = { 
    'Can store html': function (test) { 
    test.open('http://google.com') 
     .execute(function() { 
      this.data('htmlData', window.document.getElementsByTagName('html')[0].outerHTML); 
     }) 
     .log.message(function() { 
      var data = test.data('htmlData'); 
      var fs = require('fs'); 
      fs.writeFileSync('nameOfTheFile.html', data); 
      return data; 
     }) 
     .assert.title().is('Google', 'It has title') 
     .done(); 
    } 
}; 

우리는 execute 방법 & 파이프를 사용하여 브라우저에서 일부 자바 스크립트를 실행 노드에 저장 data('key', 'value') 저장 방법을 사용합니다.

이 데이터는 나중에 노드 컨텍스트에서 실행되는 log.message 메서드에서 액세스합니다. 이렇게하면 FileSystem 모듈 &을로드하여 캡처 한 html을 파일로 저장할 수 있습니다.

관련 문제