BackstopJS icon indicating copy to clipboard operation
BackstopJS copied to clipboard

Backstopjs is not properly comparing photos!

Open AndreiGorea opened this issue 1 year ago • 5 comments

I've noticed for some time that backstop doesn't compare pictures well, for example if we have a field with some data in it like the date and we do a test and remove this date with removeSelector Backstop won't see this change. Before about 2 weeks ago Backstop was noticing this change.

What would be the problem?

I use misMatchThreshold": 0.1

AndreiGorea avatar Sep 09 '24 08:09 AndreiGorea

If the screenshot is very large you may need to use a smaller ratio.

garris avatar Sep 09 '24 15:09 garris

Hi, thanks for a quick reply @garris but the problem is not with the ratio, because I didn't make any changes to the tests that a ran before.

I will show you an example:

This is my scenario array from backstop.json

"scenarios": [

{"misMatchThreshold": 0.1,"requireSameDimensions": true,"postInteractionWait": 1000,"label": "Dashboard Page","url": "https://dxnet-test-de.crossinx.com/crossnet/en_DE_xchannel/layouts/finx/common/welcome","waitForSelector": "fa fa-power-off, .fa-power-off","removeSelector": "#selectvalue ","hideSelectors": [".d-flex > small:nth-child(1) > strong:nth-child(1), [class='horizontalbarchart-container']"],"delay": 1000}

],

I have this reference photo:

ref-image

And I made a test and I have this test photo:

test-image

Obviously there is a difference, in test photo we don't have data in the fields

But backstopjs in html report tells that test is passed and there are no changes!

backstop-comparing

Maybe there were made some changes to backstop? It's a strange and new behaviour.

AndreiGorea avatar Sep 10 '24 07:09 AndreiGorea

There were somewhat recent changes that might have interacted. https://github.com/garris/BackstopJS/pull/1558

Maybe that?

garris avatar Sep 10 '24 12:09 garris

I am also having some problems but maybe it's connected to old bug reported https://github.com/garris/BackstopJS/issues/850 image image

jRaczy avatar Nov 28 '24 15:11 jRaczy

你好,请问backstopjs支持在backstop.json中调用自定义的对比方法么,我写了一个customCompare.js文件实现视觉对比时允许元素在任何方向下有指定像素的偏差,我把这个文件放到了backstop.json中的engineOptions下,如 "engineOptions": { "compareFunction": "customCompare.js" } 但是执行backstop test后查看报告却并没有生效,是什么原因呢?是哪里配置有问题么? 我看了很多资料也没有找到解决方法,盼回复!

0helloword avatar Feb 28 '25 10:02 0helloword