Привет, я в настоящее время использую селеновый webdriver, mocha, Browserstack и пакет node.js под названием «look-same» для автоматической визуальной регрессии. Я просто пытаюсь провести простое сравнение с сохраненным эталонным изображением и моментальным снимком, полученным из селена.
Код работает нормально, когда я запускаю селен локально, но когда я использую Browserstack, он иногда работает, но в большинстве случаев выдает ошибку.
Ошибка:
events.js:183
throw er; // Unhandled 'error' event
^
Error: Unexpected end of input
at module.exports.ChunkStream._end (/home/david/Desktop/Camera/node_modules/pngjs/lib/chunkstream.js:100:7)
at module.exports.ChunkStream._process (/home/david/Desktop/Camera/node_modules/pngjs/lib/chunkstream.js:203:12)
at module.exports.<anonymous> (/home/david/Desktop/Camera/node_modules/pngjs/lib/chunkstream.js:32:10)
at _combinedTickCallback (internal/process/next_tick.js:132:7)
at Immediate._tickCallback [as _onImmediate] (internal/process/next_tick.js:181:9)
at runCallback (timers.js:810:20)
at tryOnImmediate (timers.js:768:5)
at processImmediate [as _immediateCallback] (timers.js:745:5)
Вот мои возможности стека браузера:
const browserStackCapabilities = {
'browserName' : 'android',
'device' : 'Samsung Galaxy S8',
'realMobile' : 'true',
'os_version' : '7.0',
'browserstack.debug' : 'true'
}
Это код:
it('Should compare screenshot of homepage', function() {
this.timeout(50000)
return new Promise( async (resolve, reject) => {
await browser.get(serverUri)
await browser.saveScreenshot('homePage.png')
await looksSame('homePageReference.png', 'homePage.png', function(error, {equal}) {
console.log(equal)
console.log(error)
expect(equal).to.equal(true)
});
resolve()
browser.quit()
})
})
Я ожидаю, что он будет постоянно сравнивать изображения и давать результат, истинный или ложный, используя Browerstack.
Что-то не так с обработкой ошибок?