Использование Browserstack, Selenium Webdriver и библиотеки сравнения изображений node.js (выглядит так же) для автоматической визуальной регрессии - PullRequest
1 голос
/ 29 марта 2019

Привет, я в настоящее время использую селеновый 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.

Что-то не так с обработкой ошибок?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...