انتقل إلى المحتوى الرئيسي

سجلات المتصفح

عند تشغيل الاختبارات، قد يسجل المتصفح معلومات مهمة تهتم بها أو ترغب في التحقق منها.

عند استخدام 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