为什么 browser.saveScreen() 函数在 WebdriverIO 的图像比较服务中不起作用?
Why browser.saveScreen() function does not work in Image Comparison Service of WebdriverIO?
我尝试创建测试来比较屏幕截图,将 WebdriverIO 与图像比较服务结合使用。在 'sync' 模式下一切正常。但我想使用 'async' 模式,因为 'sync' 模式将不再受支持 (https://webdriver.io/docs/sync-vs-async)。对于 'async' 模式,我的测试如下所示:
describe('Example', () => {
it('should save some screenshots', async () => {
await browser.url('https://Codemify.com/interview/interview')
// Save a screen
await browser.saveScreen('examplePaged', {
/* some options */
})
})
it('should compare successful with a baseline', async () => {
await browser.url('https://Codemify.com/interview/interview')
// Check a screen
await expect(
browser.checkScreen('examplePaged', {
/* some options */
})
).toEqual(0)
})
})
wdio.conf.js中的设置:
services: [
['chromedriver'],
[
'image-comparison',
{
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,
},
],
],
在上面的示例中,创建了文件夹“.tmp”,但未创建基线文件夹“./tests/”,我收到错误消息:
[chrome 91.0.4472.124 windows #0-0] expect(received).toEqual(expected) // deep equality
Expected: 0
Received: {}
[chrome 91.0.4472.124 windows #0-0] Error: expect(received).toEqual(expected) // deep equality
我不明白哪里出了问题...假设函数 browser.saveScreen() 无法正常工作。
如有任何建议,我们将不胜感激。
我已将 await 添加到 browser.checkScreen():await expect(await browser.checkScreen('examplePaged', {/* some options */})).toEqual(0)。现在异步模式一切正常。
我尝试创建测试来比较屏幕截图,将 WebdriverIO 与图像比较服务结合使用。在 'sync' 模式下一切正常。但我想使用 'async' 模式,因为 'sync' 模式将不再受支持 (https://webdriver.io/docs/sync-vs-async)。对于 'async' 模式,我的测试如下所示:
describe('Example', () => {
it('should save some screenshots', async () => {
await browser.url('https://Codemify.com/interview/interview')
// Save a screen
await browser.saveScreen('examplePaged', {
/* some options */
})
})
it('should compare successful with a baseline', async () => {
await browser.url('https://Codemify.com/interview/interview')
// Check a screen
await expect(
browser.checkScreen('examplePaged', {
/* some options */
})
).toEqual(0)
})
})
wdio.conf.js中的设置:
services: [
['chromedriver'],
[
'image-comparison',
{
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,
},
],
],
在上面的示例中,创建了文件夹“.tmp”,但未创建基线文件夹“./tests/”,我收到错误消息:
[chrome 91.0.4472.124 windows #0-0] expect(received).toEqual(expected) // deep equality
Expected: 0
Received: {}
[chrome 91.0.4472.124 windows #0-0] Error: expect(received).toEqual(expected) // deep equality
我不明白哪里出了问题...假设函数 browser.saveScreen() 无法正常工作。 如有任何建议,我们将不胜感激。
我已将 await 添加到 browser.checkScreen():await expect(await browser.checkScreen('examplePaged', {/* some options */})).toEqual(0)。现在异步模式一切正常。