How to Handle Dropdown in Cypress

How To Handle Dropdown in Cypress

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.

Disclaimer

This publication is for informational purposes only, and nothing contained in it should be considered legal advice. We expressly disclaim any warranty or responsibility for damages arising out of this information and encourage you to consult with legal counsel regarding your specific needs. We do not undertake any duty to update previously posted materials.

Post a Comment

Categories