website/docs/api/Dialog.md
Dialog objects are dispatched by browser via the browser.on('dialog') event.
An example of using the Dialog object:
import { browser } from '@wdio/globals'
await browser.url('https://webdriver.io')
browser.on('dialog', async (dialog) => {
console.log(dialog.message()) // outputs: "Hello Dialog"
await dialog.dismiss()
})
await browser.execute(() => alert('Hello Dialog'))
:::note
Dialogs are dismissed automatically, unless there is at least one browser.on('dialog') or browser.once('dialog') listener. When a listener is present, it must either dialog.accept() or dialog.dismiss() the dialog - otherwise the page will freeze waiting for the dialog, and actions like click will never finish.
:::