Быстрая и простая автоматизация веб-интерфейса с нуля с Cypress 4 - современной платформой (фреймворк) на основе JavaScript. Этот курс даст вам полное понимание того, что такое фрейворк Cypress, и вы узнаете, как использовать все его ключевые возможности.
Cypress - очень современный фреймворк на основе JavaScript. В нем есть все, что вам нужно, прямо из коробки: Test Runner, библиотеки утверждений, репортеры и так далее. Его очень легко и просто можно интегрировать в frontend приложения (это то, что мы будем делать), и ваши тесты будут выполняться в том же цикле выполнения, что и ваше приложение. Вот почему этот фреймворк очень быстрый! И не волнуйтесь, если вы никогда не использовали JavaScript раньше. Написание автоматических тестов в Cypress больше похоже на знание последовательности команд Cypress, которые вы должны вызывать для выполнения определенных действий в браузере. Это не совсем программирование. Это своего рода сценарий, соответствующий правилам Cypress.
Мы начнем с самых базовых концепций Web UI Automation, чтобы у вас была правильная основа с самого начала (с нуля). Даже если в будущем вы будете использовать любой другой фреймворк для веб-автоматизации, основы этого курса останутся с вами навсегда и будут очень полезны. Я обещаю, что вы будете GURU в создании локаторов для любого веб-элемента на странице. Это одна из самых важных частей автоматизации пользовательского интерфейса, и я потратил много времени на подробное объяснение этого.
В отличие от многих других сред автоматизации, Cypress также может взаимодействовать с API, и вы можете автоматизировать тестирование API с помощью Cypress. Итак, еще раз, если вы не знаете, что такое API, мы начнем с нуля и изучим все, что вам нужно знать о возможностях Cypress для взаимодействия API.
И мы определенно проходим через Page Objects, что очень важно использовать! Когда у вас есть 10-20 тестов, вы можете поддерживать свой код как есть, но когда у вас есть 200-300 тестов, удобство сопровождения тестовой среды является приоритетом номер один. Правильная структура объектов страницы является ключом для повторного использования кода (без копирования / вставки кода) и удобства обслуживания.
Кроме того, мы рассмотрим различные дополнительные темы, такие как переменные среды, настройка нескольких репортеров, плагин Cypress Retry для неудачных тестов и, в конечном итоге, мы будем запускать тесты в Docker Container. Если это будет ваш первый опыт работы с Docker, не беспокойтесь, мы также поговорим об основных понятиях Docker.
К концу урока, поверьте мне, вы станете героем Cypress :)
У автора тест завалится если передать значение 350 в функцию selectDayFromCurrent().
Как решение:
создал let expectedDate = futureMonth+' '+futureYear
Сверяю ожидаемую дату по значению проперти: textContent для кнопки с Месяцем и Годом:
cy.get('nb-calendar-navigation button').invoke('prop', 'textContent').then(dateAttribute => {
if(!dateAttribute.includes(expectedDate)) {
cy.get('[data-name="chevron-right"]').click()
setDayFromCurrent(day)
} else {
cy.get('nb-card nb-calendar-picker [class="day-cell ng-star-inserted"]').contains(futureDay).click()
}
})
Урок 27 должен быть Web Tables
Урок 28 должен быть Web Datepickers
Урок 29 должен быть Lists and Dropdowns.
Админы обновите плз.
update the course please )))
I use within()
Благодарю!