2017-08-28 29 views
1

私はこのモジュールhttps://www.npmjs.com/package/protractor-image-comparisonをwswebcreation-nlから見つけました。これは私の場合には面白く便利です。しかし、私は分派器ではそれほど良くはありませんが、私はフルページ画面を比較するのに問題があります。しかし、要素画像を比較することはできますが、それでもエラーはスローされます。分度器:分度器画像比較によるフルページスクリーンショットの比較方法

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'); 

    }); 
}); 

試験が終了すると、私はすべてのフォルダ(ベースライン、actual_screenshots /実際のactual_screenshots /差分の要素のスクリーンショットを持っている。

コンソールからのエラー:

仕様が開始されました。ユーザーは、ランディングページ である√ボタン

を登録見えるはず#################################### ########## compareOptions = {isScreen:偽、ignoreAntialiasing:偽、ignoreColors:真、

ignoreRectangles:[]、ignoreTransparentPixel:偽}

F×ランディングページが表示されるはずスクリーンショットはベースライン と正常に比較されました - 'imageA'と等しいと予想されます。

+0

私は 'browser.protractorImageComparison.saveFullPageScreen( 'imageA');を使用します。 toEqual( 'imageA'); 'エラー:** Failed:browser.protractorImageComparison.saveFullPageScreenは関数ではありません。**(browser.protractorImageComparison.checkFullPageScreen( 'imageB')) – jurijk

答えて

1

私は期待していた方法ではうまくいかないと知りました。予想される動作が分からないためです。したがって、.toEqual('imageA');の代わりに、これは.toEqual(0);のように0%の違いを意味します。私のようなnoobsのためのドキュメントから非常に明確ではない何か。さもなければ、イメージの比較は、意図されていて完璧に機能します。