Инсталляция
// Install Cypress via npm
npm install cypress --save-dev
Открыть тест-раннер
// Open Cypress Test Runner
npx cypress open
Открыть URL
// Visit a URL
cy.visit('https://www.example.com');
Получить элемент по его селектору
// Get an element by selector
cy.get('#elementId');
Вставить текст в поле
// Type text into an input field
cy.get('#inputId').type('text to type');
Кликнуть по веб-элементу
// Click on an element
cy.get('.buttonClass').click();
Assert текста элемента
// Assert an element's text
cy.get('.result').should('have.text', 'expected text');
Assert видимости элемента
// Assert an element's visibility
cy.get('.element').should('be.visible');
Assert значения атрибута
// Assert an element's attribute value
cy.get('.element').should('have.attr', 'attributeName', 'expectedValue');
Ожидание видимости элемента
// Wait for an element to be visible
cy.get('.element').should('be.visible');
Ожидание невидимости элемента
// Wait for an element to not be visible
cy.get('.element').should('not.be.visible');
Assert URL’а
// Assert the URL
cy.url().should('include', '/expected-url');
Assert тайтла страницы
// Assert the page title
cy.title().should('include', 'Expected Title');
iframes: переключение на, и действия с
// Working with iframes:
// Switch to an iframe
cy.iframe('.iframeClass').within(() => {
// Perform actions within the iframe
cy.get('.iframeElement').click();
});
Assertions и ожидания
// Assertions and expectations:
cy.get('.element').should('exist');
cy.get('.element').should('not.exist');
cy.get('.element').should('be.visible');
cy.get('.element').should('not.be.visible');
cy.get('.element').should('have.text', 'expected text');
cy.get('.element').should('have.attr', 'attributeName', 'expectedValue');
cy.get('.element').should('have.class', 'className');
cy.get('.element').should('have.value', 'expectedValue');
Выпадающие списки
// Working with dropdowns:
cy.get('.dropdown').select('optionValue');
cy.get('.dropdown').select('optionText');
Действия с чекбоксами и радиокнопками
// Interacting with checkboxes and radio buttons:
cy.get('.checkbox').check();
cy.get('.radio').check('optionValue');
cy.get('.checkbox').uncheck();
С клавиатурой
// Keyboard actions:
cy.get('.input').type('text');
cy.get('.input').type('{enter}');
cy.get('.input').type('{tab}');
cy.get('.input').type('{backspace}');
С мышой
// Mouse actions:
cy.get('.element').click();
cy.get('.element').dblclick();
cy.get('.element').rightclick();
cy.get('.element').trigger('mouseover');
Алерты
// Working with alerts:
cy.on('window:alert', (text) => {
// Handle alert
});
Cookies
// Working with cookies:
cy.getCookie('cookieName').should('have.property', 'value', 'expectedValue');
cy.setCookie('cookieName', 'cookieValue');
cy.clearCookie('cookieName');
Сетевые запросы
// Handling network requests:
cy.intercept('GET', '/api/endpoint').as('alias');
cy.wait('@alias');
Кастомные команды
// Custom commands:
Cypress.Commands.add('customCommand', () => {
// Custom command logic
});
cy.customCommand();
Источник
Здесь все шпаргалки, обучающие статьи, гайды-туториалы, инструменты и все что касается автоматизации. Поиск по каналу удобнее чем на сайте — между прочим