oluşturulan dosya ve görüntüden görüntüyü karşılaştırın (ı Açı ölçer ve Yasemin ile test ediyorum ve ben de image-diff ve projeme düğüm-tuvali ekledik.)tuval
ben iki resim karşılaştırmak ve yapmak gerekir aynı oldukları kesin. Biri dosya yapımda kaydedilirken diğeri tuvalden oluşturulur. Tuvali görüntüye dönüştürebilir ve ayrıca görüntüyü dosyadan yükleyebilirim. İki görüntü karşılaştırmak ve aynı olduğundan emin olun nasıl
var imagediff = require('../node_modules/js-imagediff/js/imagediff.js');
var Canvas = require('canvas');
var fs = require('fs');
var path = require('path');
beforeEach(function() {
jasmine.addMatchers(imagediff.jasmine);
});
function loadImage (url, callback) {
var image;
fs.readFile(url, function (error, data) {
if (error) throw error;
image = new Canvas.Image();
image.onload = function() {
callback(image);
};
image.src = data;
});
return image;
}
it('should work', function() {
//executeScript is needed to get the canvas element and convert it
browser.driver.executeScript(function() {
var can = document.querySelector('#workspace-canvas');
var ctx = can.getContext("2d");
var data = can.toDataURL("image/png");
var img = new Image();
img.src = data;
//this code below shows that the image was converted properly
// var link = document.createElement('a');
// link.href = img.src;
// link.download = 'image1.png';
// link.click();
return data;
}).then(function(result) {
newData = result;
var imgPath = path.join(__dirname, './images/image1.png');
loadImage(imgPath, function(image) {
console.log('loadImage');
var canvas = new Canvas();
canvas.width = image.width;
canvas.height = image.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(image, 0, 0);
var data = canvas.toDataURL("image/png");
oldData = data;
//TODO: do a comparison here!
done();
});
});
Sorum şu: Burada ne var? URI veri çalışmasının karşılaştırılacağını düşündüm ama değil. Resim-diff kullanmayı gerçekten çok isterdim ama nasıl yapacağımı bilmiyorum. Lütfen bana yardım et!
bir göz atın [ 'browser.executeScript'] (http://www.protractortest.org/#/api?view=webdriver.WebDriver.prototype.executeScript), enjekte ve özel çalıştırmasına izin veriyor hangi Test edilen bir sayfadaki kodu ve oradan bir teste geri dönün. –