Sometimes elements are hidden but you still want to test them. The force option lets you interact with these hidden elements.
Force option for hidden elements in Cypress
cy.get('selector').click({ force: true })
The force: true option tells Cypress to ignore if the element is hidden.
Use it carefully because it bypasses normal user behavior checks.
cy.get('#hidden-button').click({ force: true })
cy.get('input[type="checkbox"]').check({ force: true })
cy.get('.hidden-input').type('Hello', { force: true })
This test visits a page, clicks a hidden button using force: true, and checks if the button got a class 'clicked' to confirm the click worked.
describe('Force option test', () => { it('Clicks a hidden button using force', () => { cy.visit('https://example.cypress.io/commands/actions') // The button is hidden by CSS cy.get('#hidden-button').click({ force: true }) cy.get('#hidden-button').should('have.class', 'clicked') }) })
Using force: true skips checks that ensure the element is visible and interactable.
Only use force: true when you are sure the hidden element should be interacted with.
Overusing force can hide real problems in your UI.
The force option lets you interact with hidden elements.
Use it to test elements not visible but still important.
Be careful to not mask UI issues by forcing actions.
Practice
force: true option do in Cypress when interacting with elements?Solution
Step 1: Understand the purpose of
This option tells Cypress to ignore visibility checks and interact with elements even if they are hidden.force: trueStep 2: Compare with default behavior
By default, Cypress only interacts with visible elements. Usingforce: trueoverrides this.Final Answer:
Allows Cypress to interact with elements even if they are hidden or not visible. -> Option AQuick Check:
force: true= interact hidden elements [OK]
- Thinking force waits for visibility
- Assuming force disables tests on hidden elements
- Confusing force with automatic retries
submitBtn using Cypress?Solution
Step 1: Recall correct object syntax for options
Cypress expects options as an object inside curly braces with key-value pairs, e.g.,{ force: true }.Step 2: Identify correct syntax among options
cy.get('#submitBtn').click({ force: true }); uses the correct object syntax with curly braces and colon separator.Final Answer:
cy.get('#submitBtn').click({ force: true }); -> Option DQuick Check:
Options object uses curly braces and colon [OK]
- Using parentheses instead of braces for options
- Using equal sign instead of colon
- Missing braces around options
cy.get('.hidden-checkbox').check({ force: true });
cy.get('.hidden-checkbox').should('be.checked');What will be the result of this test?
Solution
Step 1: Understand the effect of
Usingforce: trueon hidden checkboxesforce: trueallows Cypress to check the checkbox even if it is hidden.Step 2: Verify the assertion outcome
The next line asserts the checkbox is checked, which will be true because the previous command succeeded.Final Answer:
The test will pass because force allows checking hidden checkboxes. -> Option BQuick Check:
force: true lets hidden checkbox be checked [OK]
- Assuming hidden elements cannot be checked
- Confusing force with visibility wait
- Expecting syntax errors from correct code
cy.get('#hiddenBtn').click();It fails because the button is hidden. How can you fix it without changing the HTML?
Solution
Step 1: Identify why the test fails
The button is hidden, so Cypress refuses to click it by default.Step 2: Apply the force option to override visibility check
Adding{ force: true }to the click command forces Cypress to click the hidden button.Final Answer:
Add { force: true } to the click command. -> Option CQuick Check:
Force option overrides hidden element click failure [OK]
- Adding visibility assertion before click (won't fix hidden)
- Using invalid option like wait: true
- Changing selectors instead of fixing interaction
Solution
Step 1: Understand dropdown visibility and interaction
The dropdown is hidden by default, so normalselectwon't work without visibility.Step 2: Use force option to select hidden option
Using{ force: true }allows Cypress to select the option even if the dropdown is hidden.Step 3: Evaluate other options
cy.get('#dropdown').select('Option 1'); fails due to hidden dropdown. cy.get('#dropdown').invoke('show').select('Option 1'); tries to show dropdown via invoke but may not trigger UI properly. cy.get('#dropdown').click().select('Option 1'); clicks dropdown but does not guarantee visibility or selection.Final Answer:
cy.get('#dropdown').select('Option 1', { force: true }); -> Option AQuick Check:
Select hidden dropdown option using force: true [OK]
- Trying to select without force on hidden dropdown
- Using invoke('show') without proper UI event
- Clicking dropdown without ensuring visibility
Ready to prove it?
Pass the test and this pattern moves unknown
