Питання на співбесіді з Cypress (Middle) з відповідями
77 запитань для співбесіди з теми Cypress (Middle) - з правильними відповідями, поясненнями й посиланнями на документацію.
Пройти цей тест- 1.У Cypress 12+ чим відрізняються запити (queries) від команд-дій?
- 2.Що повторюється в
cy.get('.list').find('li').should('have.length', 3)? - 3.Чому дія посеред ланцюжка може зламати повтори?
- 4.Що дає
.should(callback)порівняно з.then(callback)? - 5.Що робить
.its('length')? - 6.Як перевірити відповідь перехопленого запиту?
- 7.Як перевірити тіло, яке форма надсилає в API?
- 8.Як імітувати повільне API в Cypress?
- 9.Як імітувати мережевий збій для запиту?
- 10.Як змінити частину справжньої відповіді через
cy.intercept? - 11.Чому
cy.interceptтреба визначити до дії, що запускає запит? - 12.Чи спільні аліаси між тестами?
- 13.Що робить опція
validateуcy.session? - 14.Що робить
cacheAcrossSpecs: trueуcy.session? - 15.Яку задачу розв'язує
cy.origin()? - 16.Як працювати з посиланням, що відкриває нову вкладку, у Cypress?
- 17.Як працювати з вмістом iframe у Cypress?
- 18.Як шукати елементи всередині shadow DOM?
- 19.Як додати TypeScript-типи для власної команди
cy.login? - 20.Коли варто використовувати
Cypress.Commands.overwrite? - 21.Де реєструють обробники
cy.task? - 22.Навіщо заповнювати тестові дані через
cy.taskчи API, а не через UI? - 23.Що таке «app actions» у тестуванні на Cypress?
- 24.Що дає
cy.window()? - 25.Як перевірити, що
window.openвикликано з правильним URL? - 26.Чим
cy.spyвідрізняється відcy.stub? - 27.Як протестувати, що сесія спливає після 30 хвилин неактивності?
- 28.Як прочитати завантажений файл у тесті Cypress?
- 29.Як додати перевірки доступності в тести Cypress?
- 30.Що потрібно для візуального регресійного тестування в Cypress?
- 31.Як змонтувати компонент React, якому потрібні роутер і store, у компонентних тестах?
- 32.Чому Cypress у деяких випадках радить не використовувати Page Object?
- 33.Що таке «умовне тестування» і чому його не радять?
- 34.Чому не варто змішувати
async/awaitз командами Cypress? - 35.Що робить
cy.wrap()? - 36.Як викликати API з авторизацією через
cy.request? - 37.Що дає
failOnStatusCode: falseуcy.request? - 38.Як запускати тести Cypress на різних середовищах?
- 39.Який ризик вимкнення
testIsolation? - 40.Чим
beforeвідрізняється відbeforeEach? - 41.Що означає
retries: { runMode: 2 }? - 42.Що спричиняє падіння на кшталт «element is detached from the DOM»?
- 43.Як анімації можуть робити тести Cypress нестабільними?
- 44.Як паралелити тести Cypress без Cypress Cloud?
- 45.Навіщо в CI офіційний Docker-образ
cypress/included? - 46.Які артефакти CI найбільше допомагають, коли запуск Cypress падає?
- 47.Що робить
cy.log()? - 48.Як очистити cookies чи сховище всередині тесту?
- 49.Як тестувати адаптивну верстку в Cypress?
- 50.Що додає регулярний вираз у
cy.contains('button', /^Save$/)? - 51.Чим
.within()відрізняється від.find()? - 52.Як отримати значення cookie, щоб його перевірити?
- 53.Як зібрати покриття коду з тестів Cypress?
- 54.Чому довгі багатосторінкові end-to-end тести важче підтримувати?
- 55.Що стається з чергою команд, коли перевірка в ній падає?
- 56.Що за замовчуванням використовує зіставлення маршрутів
cy.interceptдля URL? - 57.Якщо запит відповідає двом перехопленням, чий обробник спрацює першим?
- 58.Як протестувати запит, якого НЕ має бути?
- 59.Як завантажити фікстуру й використати її в перевірках?
- 60.Як тримати spec Cypress швидкими, коли набір росте?
- 61.Чому Cypress запускає кожен spec у свіжому контексті браузера?
- 62.Як тестувати сторонній платіжний iframe у Cypress?
- 63.Як тест Cypress може падати, якщо застосунок пише помилки в консоль?
- 64.Для чого корисний
onBeforeLoadуcy.visit? - 65.Як тестувати функції на основі геолокації в Cypress?
- 66.Яка роль
defineConfigуcypress.config.ts? - 67.Як запустити Cypress проти локального dev-сервера в CI?
- 68.Чому тести не мають залежати від точного порядку елементів з API?
- 69.Як перевірити, що кнопка стає активною після валідної форми?
- 70.Що дає
cy.document()? - 71.Як тестувати навігацію з клавіатури в Cypress?
- 72.Що дає
cy.focused()? - 73.Коли має сенс увесь тест робити через
cy.request, а не UI? - 74.Як поділитися підготовкою на кшталт входу між багатьма spec?
- 75.Що читає
Cypress.env()у браузері? - 76.Що робить
cy.writeFile? - 77.Як перевірити CSS-властивість, наприклад колір?