پرش به محتوای اصلی

لاگ‌های مرورگر

هنگام اجرای تست‌ها، مرورگر ممکن است اطلاعات مهمی را ثبت کند که شما به آن علاقه‌مند هستید یا می‌خواهید در برابر آن اثبات کنید.

هنگام استفاده از WebDriver Bidi، که روش پیش‌فرض اتوماسیون مرورگر در WebdriverIO است، می‌توانید در رویدادهای مرورگر مشترک شوید. برای رویدادهای لاگ، باید به log.entryAdded گوش دهید، به عنوان مثال:

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

در یک تست می‌توانید رویدادهای لاگ را به یک آرایه اضافه کنید و پس از انجام عملیات مورد نظر، آن آرایه را بررسی کنید، به عنوان مثال:

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

لطفاً توجه داشته باشید که می‌توانید از این روش برای بازیابی پیام‌های خطا و بررسی اینکه آیا برنامه شما با خطایی مواجه شده است، استفاده کنید.

Welcome! How can I help?

WebdriverIO AI Copilot