Ir para o conteúdo principal

Registros do navegador

Ao executar testes, o navegador pode registrar informações importantes nas quais você está interessado ou deseja se basear.

Ao usar o WebDriver Bidi, que é a maneira padrão como o WebdriverIO automatiza o navegador, você pode assinar eventos provenientes do navegador. Para eventos de log que você deseja escutar em log.entryAdded', por exemplo:

await browser.sessionSubscribe({ events: ['log.entryAdded'] })

/**
* retorna: {"type":"console","method":"log","realm":null,"args":[{"type":"string","value":"Hello Bidi"}],"level":"info","text":"Hello Bidi","timestamp":1657282076037}
*/
browser.on('log.entryAdded', (entryAdded) => console.log('received %s', entryAdded))

Em um teste, você pode simplesmente enviar eventos de log para um array e afirmar esse array quando sua ação for concluída, por exemplo:

import type { local } from 'webdriver'

describe('deve registrar ao fazer uma determinada ação', () => {
const logs: string[] = []

function logEvents (event: local.LogEntry) {
logs.push(event.text) // adiciona mensagem de log ao array
}

before(async () => {
await browser.sessionSubscribe({ events: ['log.entryAdded'] })
browser.on('log.entryAdded', logEvents)
})

it('deve disparar o evento do console', () => {
// dispara o navegador envia uma mensagem para o console
...

// afirma se o log foi capturado
expect(logs).toContain('Hello Bidi')
})

// limpa o listener depois
after(() => {
browser.off('log.entryAdded', logEvents)
})
})

Observe que você pode usar esse método para recuperar mensagens de erro e verificar se seu aplicativo encontrou algum erro.

Welcome! How can I help?

WebdriverIO AI Copilot