Back to Webdriverio

Bidi Examples

examples/bidi/README.md

9.28.01.7 KB
Original Source

Bidi Examples

Logging

The following examples show how to capture logs from the browser in real-time:

javascript
import { remote } from 'webdriverio'
const browser = await remote({
    logLevel: 'error',
    capabilities: {
        webSocketUrl: true,
        browserName: 'firefox'
    }
})

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

browser.on('log.entryAdded', (entryAdded) => console.log(JSON.stringify(entryAdded, null, 4)))
await browser.execute(() => console.log('Hello Bidi'))
await browser.deleteSession()

Or listen for network events:

javascript
import { remote } from 'webdriverio'
const browser = await remote({
    logLevel: 'error',
    capabilities: {
        webSocketUrl: true,
        browserName: 'chrome'
    }
})

await browser.sessionSubscribe({
    events: ['network.responseCompleted']
})

browser.on('network.responseCompleted', (networkResponse) => console.log(JSON.stringify(networkResponse, null, 4)))
await browser.url('https://webdriver.io')
await browser.deleteSession()

Scripting

The following example shows how to create a preload script:

javascript
import { remote } from 'webdriverio'
const browser = await remote({
    logLevel: 'error',
    capabilities: {
        webSocketUrl: true,
        browserName: 'chrome'
    }
})

await browser.scriptAddPreloadScript({
    functionDeclaration: `() => { window.bar='foo'; }`
})

await browser.url('https://webdriver.io')
await browser.pause(2000)
console.log(await browser.execute(() => window.bar))
await browser.deleteSession()