Bird
Raised Fist0
Cypresstesting~20 mins

Cypress vs Selenium vs Playwright comparison - Practice Questions

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Master of Cypress vs Selenium vs Playwright
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Key difference in architecture between Cypress and Selenium
Which statement best describes the architectural difference between Cypress and Selenium?
ACypress and Selenium both run inside the browser but use different scripting languages.
BSelenium runs inside the browser and controls it directly, while Cypress operates outside the browser using WebDriver protocol.
CBoth Cypress and Selenium run outside the browser but use different protocols to communicate.
DCypress runs inside the browser and controls it directly, while Selenium operates outside the browser using WebDriver protocol.
Attempts:
2 left
💡 Hint
Think about where the test code executes relative to the browser.
❓ Predict Output
intermediate
2:00remaining
Output of a Playwright test snippet
What will be the output of this Playwright test code snippet when run?
Cypress
import { test, expect } from '@playwright/test';

test('check page title', async ({ page }) => {
  await page.goto('https://example.com');
  const title = await page.title();
  console.log(title);
  expect(title).toBe('Example Domain');
});
ALogs 'Example Domain' and test passes
BLogs 'Example Domain' but test fails due to wrong assertion
CThrows an error because page.title() is not a function
DTest times out because page.goto() never resolves
Attempts:
2 left
💡 Hint
Check the official example.com title and Playwright API usage.
❓ assertion
advanced
2:00remaining
Correct assertion syntax in Cypress for element visibility
Which Cypress assertion correctly verifies that a button with id 'submit-btn' is visible on the page?
Cypress
cy.get('#submit-btn')
Acy.get('#submit-btn').should('be.visible');
Bcy.get('#submit-btn').assert('visible');
Ccy.get('#submit-btn').expect('visible');
Dcy.get('#submit-btn').check('visible');
Attempts:
2 left
💡 Hint
Remember the Cypress chaining syntax for assertions.
🔧 Debug
advanced
2:00remaining
Identify the cause of flaky test in Selenium
A Selenium test intermittently fails with a 'NoSuchElementException' when trying to click a button. Which is the most likely cause?
AThe button's locator is incorrect and never matches any element.
BThe browser driver is outdated and incompatible with the browser version.
CThe test tries to click the button before it is present or visible on the page.
DThe test script has a syntax error causing it to stop early.
Attempts:
2 left
💡 Hint
Consider timing issues and element readiness in UI tests.
❓ framework
expert
2:00remaining
Choosing the best framework for cross-browser testing with modern features
You need a testing framework that supports modern JavaScript features, runs tests in multiple browsers including Chromium, Firefox, and WebKit, and provides automatic waiting and network interception. Which framework best fits these requirements?
ACypress
BPlaywright
CSelenium WebDriver
DJest
Attempts:
2 left
💡 Hint
Consider browser support and built-in features for modern web apps.

Practice

(1/5)
1. Which testing tool is known for its fast setup and mainly supports Chrome-family browsers?
easy
A. Selenium
B. Cypress
C. Playwright
D. JUnit

Solution

  1. Step 1: Understand tool browser support

    Cypress is designed for fast tests mainly in Chrome-family browsers.
  2. Step 2: Compare with other tools

    Selenium supports many browsers but requires more setup; Playwright supports multiple browsers with modern features.
  3. Final Answer:

    Cypress -> Option B
  4. Quick Check:

    Fast Chrome tests = Cypress [OK]
Hint: Fast Chrome-only tests? Think Cypress [OK]
Common Mistakes:
  • Confusing Selenium as fastest setup
  • Thinking Playwright only supports Chrome
  • Selecting unrelated tools like JUnit
2. Which of the following is a correct statement about Selenium?
easy
A. Selenium supports multiple programming languages and browsers.
B. Selenium is limited to Chrome browser only.
C. Selenium only supports JavaScript language.
D. Selenium requires no setup before running tests.

Solution

  1. Step 1: Recall Selenium features

    Selenium supports many programming languages like Java, Python, JavaScript, and many browsers.
  2. Step 2: Eliminate incorrect options

    It is not limited to JavaScript or Chrome, and it requires setup.
  3. Final Answer:

    Selenium supports multiple programming languages and browsers. -> Option A
  4. Quick Check:

    Multi-language, multi-browser = Selenium [OK]
Hint: Selenium = many languages + browsers [OK]
Common Mistakes:
  • Thinking Selenium supports only JavaScript
  • Believing Selenium works without setup
  • Assuming Selenium is Chrome-only
3. Consider this statement: "Playwright supports running tests on Chromium, Firefox, and WebKit browsers." Which tool does this describe?
medium
A. Playwright
B. Selenium
C. TestCafe
D. Cypress

Solution

  1. Step 1: Identify browser support

    Playwright supports Chromium, Firefox, and WebKit browsers natively.
  2. Step 2: Match with tool features

    Cypress mainly supports Chromium-based browsers; Selenium supports many but not WebKit directly; TestCafe is different.
  3. Final Answer:

    Playwright -> Option A
  4. Quick Check:

    Multi-browser including WebKit = Playwright [OK]
Hint: WebKit support means Playwright [OK]
Common Mistakes:
  • Assuming Cypress supports WebKit
  • Confusing Selenium with Playwright browser support
  • Selecting unrelated tools like TestCafe
4. You wrote a test script using Cypress but it fails to run on Firefox browser. What is the most likely reason?
medium
A. Your Firefox browser version is outdated.
B. You need to install Playwright to run Cypress tests on Firefox.
C. Cypress requires Selenium to run on Firefox.
D. Cypress does not support Firefox well yet.

Solution

  1. Step 1: Understand Cypress browser support

    Cypress primarily supports Chromium browsers; Firefox support is experimental and limited.
  2. Step 2: Evaluate other options

    Cypress does not depend on Selenium or Playwright; outdated browser or installing Playwright is unrelated.
  3. Final Answer:

    Cypress does not support Firefox well yet. -> Option D
  4. Quick Check:

    Limited Firefox support = Cypress issue [OK]
Hint: Cypress Firefox support is limited [OK]
Common Mistakes:
  • Thinking Cypress needs Selenium for Firefox
  • Blaming browser version without checking support
  • Assuming Playwright is needed for Cypress tests
5. You want to write end-to-end tests that run fast, support multiple browsers including Safari, and allow writing tests in JavaScript or Python. Which tool should you choose?
hard
A. Cypress
B. Selenium
C. Playwright
D. Mocha

Solution

  1. Step 1: Analyze browser support needs

    Safari support requires WebKit engine support, which Playwright provides.
  2. Step 2: Consider language support and speed

    Playwright supports JavaScript and Python and offers fast test execution with modern features.
  3. Step 3: Compare with other tools

    Cypress is fast but limited to Chromium browsers and JavaScript; Selenium supports many languages but is slower; Mocha is a test framework, not a browser automation tool.
  4. Final Answer:

    Playwright -> Option C
  5. Quick Check:

    Multi-browser + multi-language + speed = Playwright [OK]
Hint: Multi-browser and language support? Choose Playwright [OK]
Common Mistakes:
  • Choosing Cypress for Safari support
  • Picking Selenium for speed over Playwright
  • Confusing Mocha as a browser automation tool
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