Cypress equips you with the versatile .select()
method, enabling you to interact with dropdowns created using the <select>
and <option>
tags. This method allows you to select options by their value, visible text, or index, giving you the power to handle any drop-down scenario.
Example:
Suppose you have the following HTML:
<select id="dropdown"> <option value="option1">Option 1</option> <option value="option2">Option 2</option> <option value="option3">Option 3</option> </select>
Steps to Handle
- Identify the select element using cy.get()
- Use the .select() command to choose an option by its value, visible text, or index
- Optionally, verify the selected option
Cypress Test Examples
Here are some examples of how to select an option in Cypress using its value, visible text, or index:
Select an Option by Value
describe('Handling HTML Select Dropdown', () => { it('should select an option by its value', () => { cy.visit('https://example.com'); // Select an option by its value cy.get('#dropdown').select('option1'); // Verify the selected value cy.get('#dropdown').should('have.value', 'option1'); }); });
Select an Option by Visible Text
describe('Handling HTML Select Dropdown', () => { it('should select an option by its visible text', () => { cy.visit('https://example.com'); // Select an option by its visible text cy.get('#dropdown').select('Option 2'); // Verify the selected value cy.get('#dropdown').should('have.value', 'option2'); }); });
Select an Option by Index
describe('Handling HTML Select Dropdown', () => { it('should select an option by its index', () => { cy.visit('https://example.com'); // Select an option by its index (0-based) cy.get('#dropdown').select(2); // Verify the selected value cy.get('#dropdown').should('have.value', 'option3'); }); });
Conclusion
- Identify the Select Element: Use cy.get('#dropdown') to locate the dropdown element. The # symbol targets an element by its id attribute.
- Select an Option: Use .select('value'), .select('Visible Text'), or .select(index).
- Verify the Selection: Use .should('have.value', 'expectedValue') to ensure the correct option is selected.
This approach allows you to handle and test select dropdowns in your Cypress tests effectively.
Post a Comment