Locators

Label Locator in Playwright

Label Locator in Playwright: definition, detailed explanation, practical usage, examples, mistakes, interview notes, and practice for Playwright automation.

Definition and Brief Explanation

Definition: A label locator finds a form control by the visible label connected to it.

Explanation: Label locators are ideal for inputs such as Email, Password, Search, Country, and Upload. They make tests readable because the code looks like a tester instruction: fill the field labeled Email.

Why It Matters

  • It makes tests easier to read because the locator describes the target element clearly.
  • It reduces flaky failures caused by layout changes or generated CSS classes.
  • It works with Playwright auto-waiting, so actions and assertions wait for the element state.
  • It supports maintainable Page Object Model code because selectors are meaningful.

How It Works

  1. Identify the element by user-facing meaning first: role, label, text, placeholder, alt text, or title.
  2. Confirm the locator points to the intended element and is unique when used for an action.
  3. Use filters, chaining, or test ids when the page has repeated controls.
  4. Avoid positional locators unless order is the behavior being tested.

Syntax and Examples

Example 1: Email label

await page.getByLabel('Email').fill('qa@example.com');

Explanation: Finds the input connected to the Email label and fills it.

Example 2: Password label

await page.getByLabel('Password').fill('Secret123!');

Explanation: Works well for accessible forms where labels are connected correctly.

Common Mistakes

  • Using generated CSS classes as the first option.
  • Using broad text that appears in many places.
  • Adding nth() only to silence strict mode.
  • Storing element handles instead of using locators.

Interview Notes

  1. What is a Label Locator in Playwright?
  2. When would you choose Label Locator?
  3. How do you make the locator unique?
  4. What makes this locator stable or unstable?

Practice Task

Create a small Playwright example for Label Locator. Add one positive assertion, one note about what can go wrong, and one improvement that would make the test more maintainable.