Zum Hauptinhalt springen

Browser Logs

Bei der Ausführung 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 von WebdriverIO zur Automatisierung des Browsers, können Sie Ereignisse abonnieren, die vom Browser kommen. Für Protokollereignisse möchten Sie auf log.entryAdded hören, z.B.:

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

/**
* gibt zurück: {"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 Protokollereignisse 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) // Protokollnachricht zum Array hinzufügen
}

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

it('should trigger the console event', () => {
// den Browser veranlassen, eine Nachricht an die Konsole zu senden
...

// prüfen, ob das Protokoll erfasst wurde
expect(logs).toContain('Hello Bidi')
})

// Listener anschließend aufräumen
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