目前我正在使用 wdio-image-comparison-service 进行图像比较,以比较元素或图像的两个屏幕截图。我已经使用 browser.saveElement 函数来获取第一个元素的屏幕截图,我想与它比较另一个图像,为此我使用了 browser.checkElement 函数。我为此使用了以下代码:
//taking screenshot for comparison
browser.saveElement($("//span[@data-action='move'][1]"), 'UploadWallpaper', { /* some options */ });
//Checking screenshot with imagecropper element screenshot
const imagecropper ="//div[@class='io-imagecropper text-center']/img";
expect(browser.checkElement($(imagecropper),
'UploadWallpaper', { })
).toEqual(0);
browser.pause(2000);
在配置文件中,我编写了如下服务:
services: ['selenium-standalone', 'visual-regression',
['image-comparison',
// The options
{
// Some options, see the docs for more
baselineFolder: join(process.cwd(), './tests/'),
formatImageName: '{tag}-{logName}-{width}x{height}',
screenshotPath: join(process.cwd(), '.tmp/'),
savePerInstance: true,
autoSaveBaseline: true,
blockOutStatusBar: true,
blockOutToolBar: true,
ignoreNothing: true // Without this option, it errors out only when mismatch is above 1.23%
// ... more options
}],],
此代码在我的本地机器上按预期工作,但是当我尝试在 jenkins 上运行相同的代码时,这两个函数都作为 typeError 给我错误。
任何人都可以为此提出任何解决方案吗?