2015-07-14 10 views
6

Po Protractor API documentation powinien istnieć sposób wykonania zrzutu całej strony, nie tylko widocznej ramki. W rzeczywistości powinno to być zachowanie domyślne.Jak zrobić zrzut ekranu całej strony w Kątomierzu?

Kiedy takeScreenshot() nazywa jak

browser.takeScreenshot().then(function (png) { 
    // writing down image 
}); 

Następnie w pliku jest opcja 3. Z dokumentacji zapisane - „widoczna część bieżącej ramki”. Jak zmusić webdrivera do zrobienia pełnego zrzutu strony?

+0

http://stackoverflow.com/a/31840790/2517622 – drets

+0

Dokumentacja mówi, że Ptor próbuje każdej metody w tej kolejności, pierwszą, która działa, jest to, co działa. Więc nie celowo daje ci # 3; rozważał zrobienie # 1 i # 2, ale nie mógł tego zrobić. –

Odpowiedz

0

Jest to związane z odpowiednim serwerem sterownika przeglądarki. np. Jeśli używasz chrome, serwer chromeedriver jest odpowiedzialny za dostarczenie zrzutu ekranu całej strony.

Nie ma to nic wspólnego z bibliotekami klienta WebDriver ani z kątomierzem.

0

Jest to hack, ale można ustawić wysokość przeglądarki w onPrepare być 2000 pikseli lub jakąś inną wysoką wartość:

browser.driver.manage().window().setSize(320, 2000); 
0

używam jaśminu-reporterów (pakiet węzeł) tutaj.

Wpisz kod w swoim pliku conf.

onPrepare: function() { 
jasmine.getEnv().addReporter({ 
      specDone: function (result) { 
       if (result.status === 'failed') { 
        browser.getCapabilities().then(function (caps) { 
         var browserName = caps.get('browserName'); 
         browser.takeScreenshot().then(function (png) { 
          var stream = fs.createWriteStream('screenshots/' + browserName + '-' + result.fullName + '.png'); 
          stream.write(new Buffer(png, 'base64')); 
          stream.end(); 
         }); 
        }); 
       } 
      } 
     }); 
} 

Powyższy kod wykonuje zrzuty ekranu, gdy jest awaria, a następnie przechowuje w folderze o nazwie zrzuty ekranu z pliku jak: -

browsername-errorItBlockName.png

przykład: -

it('user signup', function() { 
// error here 
} 

screenshot Nazwa: chrome-user signup.png

Powiązane problemy