Menu
Open source
Waits for the event to fire and returns its value. If a predicate function has been set it will pass the value to the predicate function, which must return true for the promise to resolve.
Returns
Example
import { browser } from 'k6/experimental/browser';
export const options = {
scenarios: {
browser: {
executor: 'shared-iterations',
options: {
browser: {
type: 'chromium',
},
},
},
},
};
export default async function () {
const context = browser.newContext();
// Call waitForEvent with a predicate which will return true once at least
// one page has been created.
let counter = 0;
const promise = context.waitForEvent('page', {
predicate: (page) => {
if (++counter >= 1) {
return true;
}
return false;
},
});
// Now we create a page.
const page = context.newPage();
// Wait for the predicate to pass.
await promise;
console.log('predicate passed');
page.close();
}