We use cy.check() to select checkboxes or radio buttons in tests. cy.uncheck() is used to deselect checkboxes. This helps us test if the app reacts correctly when options are chosen or removed.
cy.check() and cy.uncheck() in Cypress
cy.get('selector').check() cy.get('selector').uncheck()
Use cy.get() to find the checkbox or radio button before calling check() or uncheck().
check() works for both checkboxes and radio buttons, but uncheck() only works for checkboxes.
cy.get('#subscribe').check()
cy.get('input[type="radio"][value="male"]').check()
cy.get('.terms-checkbox').uncheck()
This test visits a page with checkboxes and radio buttons. It checks the first checkbox, verifies it is checked, then unchecks it and verifies it is unchecked. Finally, it checks the first radio button and verifies it is checked.
describe('Checkbox and Radio Button Test', () => { it('checks and unchecks inputs correctly', () => { cy.visit('https://example.cypress.io/commands/actions') // Check a checkbox cy.get('.action-checkboxes [type="checkbox"]').first().check().should('be.checked') // Uncheck the same checkbox cy.get('.action-checkboxes [type="checkbox"]').first().uncheck().should('not.be.checked') // Check a radio button cy.get('.action-radios [type="radio"]').first().check().should('be.checked') }) })
Always use unique and clear selectors to avoid selecting the wrong checkbox or radio button.
Trying to uncheck() a radio button will cause an error because radios cannot be unchecked by user action.
Use should('be.checked') or should('not.be.checked') to assert the state after checking or unchecking.
cy.check() selects checkboxes or radio buttons.
cy.uncheck() deselects checkboxes only.
Use assertions to confirm the input state after actions.
Practice
cy.check() do in Cypress testing?Solution
Step 1: Understand the purpose of
cy.check()cy.check()is used to select checkboxes or radio buttons in Cypress tests.Step 2: Compare with other commands
cy.uncheck()is used to deselect checkboxes only, so it does not match the question.Final Answer:
Selects checkboxes or radio buttons -> Option CQuick Check:
cy.check() selects inputs [OK]
- Confusing cy.check() with cy.uncheck()
- Thinking cy.check() types text
- Assuming cy.check() clicks buttons
agree in Cypress?Solution
Step 1: Identify the command to deselect a checkbox
To deselect a checkbox, usecy.uncheck().Step 2: Match the syntax with the element selector
cy.get('#agree').uncheck()correctly targets the checkbox with id 'agree' and unchecks it.Final Answer:
cy.get('#agree').uncheck() -> Option AQuick Check:
uncheck() deselects checkbox [OK]
- Using check() to uncheck a box
- Using click() which may toggle unpredictably
- Trying to type 'uncheck' into checkbox
cy.get('input[type="checkbox"]').check().should('be.checked');
cy.get('input[type="checkbox"]').uncheck().should('not.be.checked');Solution
Step 1: Analyze the first command and assertion
cy.get('input[type="checkbox"]').check()selects all checkboxes, thenshould('be.checked')asserts they are checked. This should pass.Step 2: Analyze the second command and assertion
cy.get('input[type="checkbox"]').uncheck()deselects all checkboxes, thenshould('not.be.checked')asserts they are unchecked. This should also pass.Final Answer:
Both assertions pass -> Option BQuick Check:
check() then be.checked, uncheck() then not.be.checked [OK]
- Assuming uncheck() works on radio buttons
- Thinking check() does not affect checked state
- Confusing assertion syntax
cy.get('input[type="radio"]').uncheck();Why does this test fail?
Solution
Step 1: Understand
uncheck()limitationsuncheck()works only on checkboxes, not radio buttons.Step 2: Analyze the selector and usage
The selector targets radio buttons, so usinguncheck()causes failure.Final Answer:
Because uncheck() cannot be used on radio buttons -> Option DQuick Check:
uncheck() only for checkboxes [OK]
- Trying to uncheck radio buttons
- Assuming uncheck() needs parameters
- Confusing selector correctness
features. You want to check only the boxes with values fast and secure, then verify only those are checked. Which Cypress code snippet correctly does this?Solution
Step 1: Use check() with array to select multiple checkboxes
cy.get('input[name="features"]').check(['fast', 'secure'])checks the boxes with those values.Step 2: Assert that those checkboxes are checked
should('be.checked')confirms the selected checkboxes are checked.Final Answer:
cy.get('input[name="features"]').check(['fast', 'secure']).should('be.checked') -> Option AQuick Check:
check(array) selects multiple, then assert checked [OK]
- Using multiple check() calls without chaining properly
- Using should('have.value') which is incorrect for checkboxes
- Unchecking after checking without reason
Ready to prove it?
Pass the test and this pattern moves unknown
