План на курса
Ден 1 – Въведение и основи
Въведение
- Ролята на Cypress в пирамидата за тестване
- Настройка на околната среда за автоматизирано тестване (Node LTS, npm)
- Създаване на минимален проект с Cypress
- Първият "smoke" тест в режим на графичен интерфейс и без главно прозорче (headless mode)
Основни концепции
- Фундаментални основи на Cypress, ред на командите, автоматична проба
- Използване на хуки: before, beforeEach, afterEach, after
- Псевдоними и повторно използване (.as(), cy.get('@alias'))
API (Контракт) Тестване
- Прякото API тестване с Cypress (cy.request())
- Моделиране на API с cy.intercept() за гранични случаи
- Гарантиране на стабилността при интеграцията между фронтенда и бекенда
Потребителски команди на Cypress
- Организация на повтарящи се действия (вход, навигация) в потребителски команди
- Чист и поддържам код с повторно използване (cy.login())
Расписание: теория + демонстрация + ръчни упражнения Присъствени: основно знание на JavaScript, VSCode, Git
Ден 2 – Напреднали практики и CI/CD
Построяване на комплексни тестове
- Автоматизиране на цели потребителски процеси
- Контрол на състоянията с cy.intercept и cy.session
- Избягване на нестабилни тестове, подобряване на стабилността и скоростта
Тестуване с данни
- Съхраняване на тестови данни в JSON файлове (fixtures)
- Параметризираните тестове, които изпълняват същата логика с различни входни параметри
Плагини на Cypress
- Съобщения: mochawesome, allure-cypress, junit-reporter
- Взаимодействия: cypress-file-upload, cypress-real-events
- Достъпност: cypress-axe, cypress-audit
- Визуална регресия: cypress-image-snapshot
- Поддържаемост: @testing-library/cypress, cypress-plugin-tab
CI/CD с Cypress
- Интеграция с GitHub Actions
- Настройка на околната среда Node.js и Cypress, изпълнение в без Главно прозорче (headless mode)
- Автоматично изпълнение на тестовете при push/PR
- Безопасна обработка на секретни данни
Резюме и заключение
Изисквания
- Разбирање на софтуерното тестване
Целева група
- Софтуерни тествери
Отзиви от потребители (5)
Добро взаимоотношение, Łukasz имаше време за въпросите на всички и успя да помогне на всяко лице с проблеми.
Kelly Morris - Titian Software Poland Sp. z o.o.
Курс - Selenium WebDriver in C#
Машинен превод
Нахаресах всичко, тъй като всичко е ново за мен и мога да видя добавената стойност, която може да принесе на моята работа.
Zareef - BMW South Africa
Курс - Tosca: Model-Based Testing for Complex Systems
Машинен превод
Тренерът обясни всяка функционалност подробно.
Argean Quilaquil - DXC
Курс - TestComplete
Машинен превод
Тренерът е приятен. Обясненията му са ясни и интересни. Той се старае да направи уроците колкото е възможно по-интересни. Насладих се на урока и придобих много знания. Благодаря ти много. Най-полезната техника, която научих, е локализирането на елементи за различни веб компоненти като текстови полета, радиобутони и бутони. Понякога идентификаторът на елемента не се заваря правилно. Научихме различен начин за локализиране на елементи чрез CSS селектори, XPath, име и ID. Много ми харесаха обясненията. Благодаря ти.
Bee Chin Chuah - I-Access Solutions Pte Ltd
Курс - Advanced Selenium with C#
Машинен превод
Ми ми хареса, както примерите водят към следващия. Можете да използвате това, което сте научили в предходната част, в следващата.
Sacha Mannion - BeyondTrust
Курс - C# for Automation Test Engineers
Машинен превод