Automatic retries on every queryTime-travel runnercy.intercept & cy.sessionCustom commands
Two complete apps to automate end to end, plus focused element-handling recipes โ all in Cypress.
๐๏ธNova Shop
Login with test users, search/filter/sort products, cart & coupons, a validated checkout, a declined card and order history.
- โ3 test accounts incl. locked & slow
- โCart maths, coupons, tax & shipping
- โForm validation + payment failure
๐ฌShowTime
Pick city, date and showtime, select seats on a live seat map, add snacks, apply promos and pay with an OTP step under a hold timer.
- โSeat map with tiers & limits
- โCountdown timer & clock mocking
- โOTP modal, async UPI, cancellations
๐งฉ50+ challenges
Focused recipes for inputs, dropdowns, tables, alerts, frames, windows, drag & drop, uploads, hover, waits, shadow DOM and keys.
- โ15 copy-ready recipes
- โEach linked to a live challenge
- โTool-specific gotchas called out
Run this site locally with npm run dev โ examples target http://localhost:3000.
npm install -D cypress
npx cypress open
// cypress.config.js
// e2e: { baseUrl: 'http://localhost:3000' }
// cypress/support/commands.js
Cypress.Commands.add('getByTestId', (id, options) =>
cy.get(`[data-testid="${id}"]`, options));
Sign in to Nova Shop and assert the product grid loaded.
describe('Nova Shop login', () => {
it('lets demo_user sign in', () => {
cy.visit('/shop');
cy.getByTestId('username').type('demo_user');
cy.getByTestId('password').type('Demo@123');
cy.getByTestId('login-button').click();
cy.location('pathname').should('eq', '/shop/products');
cy.getByTestId('product-card').should('have.length', 12);
});
});
Official docs: https://docs.cypress.io/