Belajar Cypress (framework end-to-end testing untuk aplikasi web modern) dari dasar hingga production-grade: pre-requisites & setup environment, sejarah & latar belakang, konsep dasar & arsitektur, instalasi & konfigurasi dasar, menulis test dasar, automatic waiting & retries, fixtures & test data, custom commands & utilities, advanced interactions, component testing, end-to-end flows, dashboard & reporting, api testing & network stubbing, security & test stability, ci/cd integration, performance optimization, visual testing & regression, accessibility testing, custom plugins & extensions, operational readiness & runbooks, real-world use cases & patterns, ekosistem & tools, hingga future-proofing cypress skills dengan total 23 episode.
Sebelum menyentuh Cypress, kalian perlu menguasai dasar HTML, CSS, DOM, dan HTTP, plus JavaScript serta Node.js sebagai fondasi utama. Di episode ini kalian juga menyiapkan Node.js, package manager, IDE, browser, Git, lalu memverifikasi environment pertama.

Episode ini mengupas sejarah dan latar belakang lahirnya Cypress, evolusinya dari proyek pribadi menjadi framework open-source, keunggulan real-time reload dan automatic waiting, serta perbandingan dengan Selenium, Playwright, dan Jest untuk menentukan kapan memilih Cypress.

Episode ini membuka kap mesin Cypress: komponen Test Runner, Dashboard, dan plugins, arsitektur dua proses di browser dan Node.js, test lifecycle dengan hooks, serta struktur project dan konfigurasi dasar di cypress.config.js.

Episode ini memandu instalasi Cypress sebagai dev dependency, membuka Test Runner untuk pertama kali, menulis spec pertama, mengatur cypress.config.js dengan baseUrl dan timeout, serta menambahkan script test di package.json.

Episode ini mengajarkan perintah inti Cypress: cy.visit untuk navigasi, cy.get untuk memilih elemen, action seperti klik dan ketik, assertions dengan should dan contains, interaksi form, serta teknik debug langsung di browser.

Episode ini membedah automatic waiting Cypress: cara menunggu elemen tanpa sleep manual, retry-ability pada commands dan assertions, mengatasi timing issues, serta best practices untuk test yang andal dan tidak flaky.

Episode ini membahas pengelolaan test data: menyimpan data statis di cypress/fixtures, memuat JSON lewat cy.fixture, data-driven testing dengan dataset eksternal, serta mocking data dan request stubs dengan cy.intercept.

Episode ini membahas perluasan Cypress: menambahkan custom commands di commands.js dengan Cypress.Commands.add, membuat helper reusable untuk alur test, mengatur baseUrl dan environment vars, serta mengorganisasi test utilities.

Episode ini membahas interaksi lanjutan: handling iframes, popups, dan multiple windows, drag and drop, uploads, keyboard events, testing single-page apps dengan konten dinamis, serta network stubbing dengan cy.intercept.

Episode ini membahas component testing dengan Cypress untuk React, Vue, dan Angular, menyiapkan test environment component, assertion berbasis perilaku komponen, serta integrasi dengan Storybook dan UI library.
