2017-08-28 1 views
1

ich dieses Modul gefunden habe https://www.npmjs.com/package/protractor-image-comparison von wswebcreation-nl, die ich interessant und nützlich in meinem Fall finden. Aber ich bin bei Gradmesser noch nicht so gut, ich habe Probleme beim Vergleich von Vollseitenbildschirmen. Das Vergleichen von Elementbildern funktioniert jedoch, gibt jedoch weiterhin einen Fehler aus.Protractor: wie voll Seite Screenshot vergleichen mit Winkelmesser-Bild-Vergleich

config.js

onPrepare: function() { 
      // protractor-image-comparison module 
      const protractorImageComparison = require('protractor-image-comparison'); 
      browser. protractorImageComparison = new protractorImageComparison(
       { 
        autoSaveBaseline: true, 
        baselineFolder: '../baseline/', 
        screenshotPath: '../actual_screenshots/', 
        debug: true, 
        disableCSSAnimation: true, 
        nativeWebScreenshot: true, 
        blockOutStatusBar: true, 
        ignoreColors: true 
       } 
      ); 
    ... 
    } 

Spec.js

// page objects 
var landingPage = require('../landing_page/landing_page.js'); 

describe('User is on landing page', function() { 
it('should see landing page screenshot compared successfully to the baseline', function() { 
     // initialize page object 
     var landing = new landingPage(); 

     browser.protractorImageComparison.saveElement(landing.registerButton, 'imageA'); 

     expect(browser.protractorImageComparison.checkElement(landing.registerButton, 'imageB')).toEqual('imageA'); 

    }); 
}); 

Sobald Test abgeschlossen ist, ich habe Screenshots des Elements in allen Ordnern (Baseline, actual_screenshots/Ist und actual_screenshots/diff.

Fehler von der Konsole:

Spec gestartet. Benutzer befindet sich auf der Zielseite √ sollten Taste siehe Register

#################################### ########## CompareOptions = {isScreen: false, ignoreAntialiasing: false, ignoreColors: true,

ignoreRectangles: [], ignoreTransparentPixel: false}

#

F × Zielseite sehen sollte Screenshot erfolgreich mit der Baseline verglichen - Erwartete 0 bis 'ImageA' gleich.

+0

Wenn ich 'browser.protractorImageComparison.saveFullPageScreen ('imageA'); . Erwarten (browser.protractorImageComparison.checkFullPageScreen ('imageB')) toEqual ('imageA'); 'dann der Fehler ** fehlgeschlagen: browser.protractorImageComparison.saveFullPageScreen ist keine Funktion **. – jurijk

Antwort

1

Von mir selbst herausgefunden, dass es nicht so funktioniert, wie ich erwartet hatte, weil ich nicht verstanden habe, wie erwartet funktionieren sollte. Anstelle von .toEqual('imageA'); sollte das wie .toEqual(0); geschrieben werden, was 0% Unterschied bedeutet. Etwas, das aus der Dokumentation für Anfänger wie mich nicht sehr klar ist. Ansonsten funktioniert der Bildvergleich wie beabsichtigt und fehlerfrei.

Verwandte Themen