toBeEmpty()
The toBeEmpty()
method asserts that an element is empty. It automatically retries the assertion until the element becomes empty or the timeout is reached.
Syntax
await expect(locator).toBeEmpty();
await expect(locator).not.toBeEmpty();
await expect(locator).toBeEmpty(options);
Parameters
Parameter | Type | Description |
---|---|---|
options | RetryConfig | Optional configuration options |
Returns
Type | Description |
---|---|
Promise | A promise that resolves when the assertion passes |
Description
The toBeEmpty()
method checks if an element is empty. An element is considered empty if:
- For input elements: the value is an empty string (
""
) - For other elements: the text content is empty (no visible text)
This method automatically retries the assertion until the element’s content becomes empty or the timeout is reached.
Usage
import { browser } from 'k6/browser';
import { expect } from 'https://jslib.k6.io/k6-testing/0.5.0/index.js';
export const options = {
scenarios: {
ui: {
executor: 'shared-iterations',
options: {
browser: {
type: 'chromium',
},
},
},
}
};
export default async function () {
const page = await browser.newPage();
await page.goto('https://quickpizza.grafana.com/');
// Click on the advanced checkbox
await page.locator('label div').click();
// Check that an input field is empty
await expect(page.locator('#pizza-name')).toBeEmpty();
// Fill input and then verify it's not empty
await page.locator('#pizza-name').fill('my pizza');
await expect(page.locator('#pizza-name')).not.toBeEmpty();
}