t.getBrowserConsoleMessages Method
Returns messages posted to the browser console. Cannot be chained with other methods of the test controller.
t.getBrowserConsoleMessages() → Promise<Object>
This method returns an object that contains the following fields.
Field | Type | Description |
---|---|---|
error |
Array of String | Error messages printed in the console. |
warn |
Array of String | Warning messages printed in the console. |
log |
Array of String | Log messages printed in the console. |
info |
Array of String | Information messages printed in the console. |
Note that this method returns only messages posted via the console.error
, console.warn
, console.log
and console.info
methods. Messages output by the browser (like when an unhandled exception occurs on the page) will not be returned.
Example
// check-console-messages.js
import { t } from 'testcafe';
export default async function () {
const { error, log } = await t.getBrowserConsoleMessages();
await t.expect(error[0]).notOk();
await t.expect(log[0]).eql('Typed name is Name');
}
// test.js
import checkConsoleMessages from './check-console-messages';
fixture`TestController.getBrowserConsoleMessages`
.page`./index.html`
.afterEach(() => checkConsoleMessages());
test('Send name', async t => {
await t
.typeText('#name', 'Name')
.click('#button');
});