Bird
Raised Fist0
Cypresstesting~5 mins

First Cypress test - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is Cypress used for in software testing?
Cypress is a tool used to write and run tests that check if web applications work correctly by simulating user actions in a browser.
Click to reveal answer
beginner
What does the command cy.visit('https://example.com') do in a Cypress test?
It opens the web page at 'https://example.com' inside the test browser so Cypress can interact with it.
Click to reveal answer
beginner
In Cypress, how do you check if a page contains the text 'Welcome'?
You use cy.contains('Welcome') which looks for that text on the page and passes if found.
Click to reveal answer
intermediate
Why is it important to use clear and simple selectors in Cypress tests?
Clear selectors make tests easier to read and less likely to break if the page changes, helping tests stay reliable.
Click to reveal answer
beginner
What does the describe block do in a Cypress test file?
It groups related tests together under a common name, making the test output organized and easier to understand.
Click to reveal answer
Which Cypress command opens a web page for testing?
Acy.load()
Bcy.visit()
Ccy.open()
Dcy.start()
How do you check if a button with text 'Submit' exists on the page in Cypress?
Acy.contains('Submit')
Bcy.get('button').should('have.text', 'Submit')
Ccy.find('Submit')
Dcy.check('Submit')
What is the purpose of the it block in Cypress tests?
ATo run tests in parallel
BTo group multiple tests
CTo set up test data
DTo define a single test case
Which of these is a good practice for selecting elements in Cypress tests?
ASelecting elements by their visible text only
BUsing complex CSS selectors that may change often
CUsing data attributes like data-cy for stable selectors
DUsing XPath selectors
What will happen if an assertion in a Cypress test fails?
AThe test will stop and report failure
BThe test will restart automatically
CThe test will ignore the failure
DThe test will continue running other steps
Explain the basic structure of a Cypress test and how it runs a simple check on a web page.
Think about how you tell Cypress what page to open and what to look for.
You got /5 concepts.
    Describe why using stable selectors like data attributes is important in Cypress tests.
    Imagine if your test breaks every time the page style changes.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of the cy.visit() command in a Cypress test?
      easy
      A. To run the test suite
      B. To check if an element is visible
      C. To open a webpage in the test browser
      D. To write test descriptions

      Solution

      1. Step 1: Understand cy.visit() usage

        The cy.visit() command is used to open a webpage URL in the Cypress test browser.
      2. Step 2: Compare with other options

        Options A, B, and C describe other actions unrelated to opening a webpage.
      3. Final Answer:

        To open a webpage in the test browser -> Option C
      4. Quick Check:

        cy.visit() opens page [OK]
      Hint: Remember: visit means open page URL [OK]
      Common Mistakes:
      • Confusing cy.visit() with assertions
      • Thinking it runs tests instead of opening pages
      • Mixing it with test description blocks
      2. Which of the following is the correct syntax to start a Cypress test block?
      easy
      A. function test() { describe('Test name') }
      B. describe('Test name', () => { it('does something', () => { }) })
      C. test('Test name', () => { })
      D. run('Test name', () => { })

      Solution

      1. Step 1: Identify correct Cypress test structure

        Cypress tests use describe blocks to group tests and it blocks for individual tests, both with arrow functions.
      2. Step 2: Check syntax correctness

        describe('Test name', () => { it('does something', () => { }) }) correctly shows describe with an it inside using arrow functions. Others use invalid or unsupported syntax.
      3. Final Answer:

        describe('Test name', () => { it('does something', () => { }) }) -> Option B
      4. Quick Check:

        Use describe and it blocks [OK]
      Hint: Tests start with describe and it blocks [OK]
      Common Mistakes:
      • Using non-Cypress functions like test() or run()
      • Missing arrow functions or braces
      • Incorrect nesting of blocks
      3. Given the following Cypress test code, what will be the test result if the element with id #welcome is visible?
      describe('Visibility test', () => {
        it('checks welcome message', () => {
          cy.visit('https://example.com')
          cy.get('#welcome').should('be.visible')
        })
      })
      medium
      A. Test fails because cy.visit() is missing
      B. Test passes even if the element is not visible
      C. Test fails because should is used incorrectly
      D. Test passes because the element is visible

      Solution

      1. Step 1: Analyze test steps

        The test visits the page, then checks if the element with id #welcome is visible using should('be.visible').
      2. Step 2: Understand assertion behavior

        If the element is visible, the assertion passes and so does the test. The code syntax is correct and cy.visit() is present.
      3. Final Answer:

        Test passes because the element is visible -> Option D
      4. Quick Check:

        Visible element means test passes [OK]
      Hint: Visible element + should('be.visible') = pass [OK]
      Common Mistakes:
      • Assuming test fails without cy.visit()
      • Thinking should is wrong syntax
      • Ignoring element visibility status
      4. Identify the error in this Cypress test code:
      describe('My Test', () => {
        it('opens page', () => {
          cy.visit('https://example.com')
          cy.get('.button').should('visible')
        })
      })
      medium
      A. Incorrect assertion keyword, should be should('be.visible')
      B. Missing parentheses in should('visible')
      C. Wrong selector syntax for class
      D. Missing it block inside describe

      Solution

      1. Step 1: Check assertion syntax

        The assertion should('visible') is incorrect. The correct form is should('be.visible') to check visibility.
      2. Step 2: Verify other parts

        The selector .button is correct for class, and it block is present. So only the assertion keyword is wrong.
      3. Final Answer:

        Incorrect assertion keyword, should be should('be.visible') -> Option A
      4. Quick Check:

        Use should('be.visible') for visibility [OK]
      Hint: Use exact assertion keywords like 'be.visible' [OK]
      Common Mistakes:
      • Using 'visible' instead of 'be.visible'
      • Confusing selector syntax for classes
      • Omitting it block inside describe
      5. You want to write a Cypress test that visits https://example.com, clicks a button with class .submit-btn, and then checks if a success message with id #success-msg is visible. Which of the following test codes correctly implements this?
      hard
      A. describe('Submit test', () => { it('clicks and checks success', () => { cy.visit('https://example.com') cy.get('.submit-btn').click() cy.get('#success-msg').should('be.visible') }) })
      B. describe('Submit test', () => { it('clicks and checks success', () => { cy.visit('https://example.com') cy.get('#submit-btn').click() cy.get('.success-msg').should('visible') }) })
      C. describe('Submit test', () => { it('clicks and checks success', () => { cy.visit('https://example.com') cy.click('.submit-btn') cy.get('#success-msg').should('be.visible') }) })
      D. describe('Submit test', () => { it('clicks and checks success', () => { cy.visit('https://example.com') cy.get('.submit-btn').click() cy.get('#success-msg').should('visible') }) })

      Solution

      1. Step 1: Verify selectors and commands

        describe('Submit test', () => { it('clicks and checks success', () => { cy.visit('https://example.com') cy.get('.submit-btn').click() cy.get('#success-msg').should('be.visible') }) }) uses correct selectors: .submit-btn for class and #success-msg for id. It uses cy.get().click() correctly.
      2. Step 2: Check assertion syntax

        The code uses should('be.visible'), which is the correct assertion for visibility. Other options have wrong selectors or incorrect assertion keywords.
      3. Final Answer:

        describe('Submit test', () => { it('clicks and checks success', () => { cy.visit('https://example.com') cy.get('.submit-btn').click() cy.get('#success-msg').should('be.visible') }) }) -> Option A
      4. Quick Check:

        Correct selectors + click + should('be.visible') [OK]
      Hint: Use correct selectors and should('be.visible') for checks [OK]
      Common Mistakes:
      • Mixing class and id selectors
      • Using cy.click() instead of cy.get().click()
      • Wrong assertion keyword 'visible' instead of 'be.visible'
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard