2017-08-28 63 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/DIFF元件的屏幕截圖。

控制檯出錯:

規格開始。用戶在着陸頁 √應該看到註冊按鈕

#################################### ########## compareOptions = {isScreen:假,ignoreAntialiasing:假,ignoreColors:真,

ignoreRectangles:[],ignoreTransparentPixel:假}

F×應該看到着陸頁截圖與 基線成功比較 - 預期0到等於'imageA'。

+0

當我使用'browser.protractorImageComparison.saveFullPageScreen('imageA'); expect(browser.protractorImageComparison.checkFullPageScreen('imageB'))。toEqual('imageA');'然後錯誤是**失敗:browser.protractorImageComparison.saveFullPageScreen不是一個函數**。 – jurijk

回答

1

由我自己發現,它不以我期待的方式工作,因爲我不明白應該如何工作。因此,而不是.toEqual('imageA');這應該寫爲.toEqual(0);這意味着0%的差異。對於像我這樣的noobs來說,這些東西不是很清楚。否則,圖像比較就像預期的一樣完美無瑕。