Zum Hauptinhalt springen

Browser-Logs

Beim Ausführen von Tests kann der Browser wichtige Informationen protokollieren, die für Sie interessant sind oder gegen die Sie prüfen möchten.

Bei der Verwendung von WebDriver Bidi, der Standardmethode, mit der WebdriverIO den Browser automatisiert, können Sie Ereignisse abonnieren, die vom Browser kommen. Für Log-Ereignisse möchten Sie auf log.entryAdded hören, z.B.:

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))

In einem Test können Sie Log-Ereignisse einfach in ein Array übertragen und dieses Array überprüfen, sobald Ihre Aktion abgeschlossen ist, z.B.:

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)
})
})

Bitte beachten Sie, dass Sie diese Methode verwenden können, um Fehlermeldungen abzurufen und zu überprüfen, ob Ihre Anwendung auf Fehler gestoßen ist.

Welcome! How can I help?

WebdriverIO AI Copilot