我们正在尝试调试在TestCafé和Chrome之间遇到的一个问题,在该问题中(对于基本用例),我们看到了用于制作快照的元素的高度增加了额外的像素。我将假定这是由于我们的元素比我们想象的要高,但是在Chrome调试器中,元素的高度看起来是正确的,而在快照中则不是。
我稍微看了一下TestCafé的源代码(从两个方向:从takeElementScreenshot
方法的下方,从pngJS代码的上方),但是无法确切地确定从传递的选择器中提取(计算)要拍摄快照的大小的位置进入takeElementScreenshot
。
有人可以将我指向发生这种情况的源代码中的正确位置吗?谢谢。
首先,数据取自位于文档左上角的元素:https : //github.com/DevExpress/testcafe/blob/master/src/client/driver/command-executors/browser-manipulation /index.js#L50
然后,将其转换为相对于文档可见部分的值:https : //github.com/DevExpress/testcafe/blob/master/src/client/driver/command-executors/browser-manipulation/ensure-crop- options.js
在那里,计算了要切割的像素坐标:https : //github.com/DevExpress/testcafe/blob/master/src/screenshots/crop.js