Aller au contenu principal

Journaux du Navigateur

Lors de l'exécution des tests, le navigateur peut enregistrer des informations importantes qui vous intéressent ou contre lesquelles vous souhaitez effectuer des assertions.

Lorsque vous utilisez WebDriver Bidi, qui est la méthode par défaut utilisée par WebdriverIO pour automatiser le navigateur, vous pouvez vous abonner aux événements provenant du navigateur. Pour les événements de journal, vous devez écouter log.entryAdded', par exemple :

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

/**
* returns: {"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))

Dans un test, vous pouvez simplement ajouter les événements de journal à un tableau et vérifier ce tableau une fois votre action terminée, par exemple :

import type { local } from 'webdriver'

describe('should log when doing a certain action', () => {
const logs: string[] = []

function logEvents (event: local.LogEntry) {
logs.push(event.text) // add log message to the array
}

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

it('should trigger the console event', () => {
// trigger the browser send a message to the console
...

// assert if log was captured
expect(logs).toContain('Hello Bidi')
})

// clean up listener afterwards
after(() => {
browser.off('log.entryAdded', logEvents)
})
})

Veuillez noter que vous pouvez utiliser cette méthode pour récupérer les messages d'erreur et vérifier si votre application a rencontré des erreurs.

Welcome! How can I help?

WebdriverIO AI Copilot