Menu
Open source
toBeHidden()
The toBeHidden()
method asserts that an element is hidden on the page. This is a retrying assertion that automatically waits for the element to become hidden.
Syntax
await expect(locator).toBeHidden();
await expect(locator).not.toBeHidden();
await expect(locator).toBeHidden(options);
Parameters
Parameter | Type | Description |
---|---|---|
options | RetryConfig | Optional configuration options |
Returns
Type | Description |
---|---|
Promise | A promise that resolves when the assertion passes |
Description
The toBeHidden()
method checks if an element is hidden on the page. An element is considered hidden if:
- It does not exist in the DOM
- It has zero dimensions
- It is hidden by CSS (
display: none
,visibility: hidden
, etc.) - It is outside the viewport bounds
This is a retrying assertion that will automatically re-check the element’s visibility until it becomes hidden 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/');
// Check that non-existent elements are hidden
await expect(page.locator('.error-message')).toBeHidden();
await expect(page.locator('.loading-spinner')).toBeHidden();
// Click the pizza button to show the recommendation
await page.locator('button[name="pizza-please"]').click();
// Wait for the recommendation to appear
await expect(page.locator('h2[id="pizza-name"]')).not.toBeHidden();
// Verify the button is no longer visible after clicking
await expect(page.locator('button[name="pizza-please"]')).toBeHidden();
}