Đề cương khóa học
Ngày 1 – Giới thiệu & Cơ bản
Giới thiệu
- Vai trò của Cypress trong kim tự tháp kiểm thử
- Thiết lập môi trường kiểm thử tự động (Node LTS, npm)
- Tạo một dự án Cypress tối giản
- Bài kiểm tra E2E đầu tiên trong chế độ GUI và headless
Các khái niệm cơ bản
- Các nguyên tắc cơ bản của Cypress, hàng đợi lệnh, tự động thử lại
- Sử dụng hooks: before, beforeEach, afterEach, after
- Đặt biệt danh và khả năng tái sử dụng (.as(), cy.get('@alias'))
Kiểm thử API (Hợp đồng)
- Kiểm thử API trực tiếp với Cypress (cy.request())
- Tạo stub cho API với cy.intercept() trong các trường hợp biên
- Đảm bảo sự ổn định của tích hợp frontend-backend
Lệnh Cypress tùy chỉnh
- Tổ chức các hành động lặp lại (đăng nhập, điều hướng) thành lệnh tùy chỉnh
- Mã code sạch và dễ bảo trì với các cuộc gọi có thể tái sử dụng (cy.login())
Lịch trình: lý thuyết + demo + bài tập hands-on Tiền đề: kiến thức cơ bản về JS, VSCode, Git
Ngày 2 – Thực hành nâng cao & CI/CD
Xây dựng các bài kiểm thử phức tạp
- Tự động hóa các luồng người dùng đầy đủ
- Kiểm soát trạng thái với cy.intercept và cy.session
- Tránh các bài kiểm thử không ổn định, cải thiện tính ổn định và tốc độ
Kiểm thử dựa trên dữ liệu
- Lưu trữ dữ liệu kiểm thử trong các tệp JSON (fixtures)
- Các bài kiểm thử tham số hóa chạy cùng một logic với nhiều đầu vào
Các plugin Cypress
- Báo cáo: mochawesome, allure-cypress, junit-reporter
- Tương tác: cypress-file-upload, cypress-real-events
- Khả năng truy cập: cypress-axe, cypress-audit
- Kiểm thử hình ảnh: cypress-image-snapshot
- Khả năng bảo trì: @testing-library/cypress, cypress-plugin-tab
CI/CD với Cypress
- Tích hợp GitHub Actions
- Thiết lập môi trường Node.js và Cypress, chạy chế độ headless
- Chạy kiểm thử tự động khi push/PR
- Xử lý an toàn các bí mật
Tóm tắt và kết luận
Yêu cầu
- Hiểu biết về kiểm thử phần mềm
Đối tượng tham gia
- Người kiểm thử phần mềm
Đánh giá (3)
Sự kiên nhẫn và tốc độ giảng dạy của người giảng viên.
Jace - Vodacom
Khóa học - Test Automation with Selenium
Dịch thuật bằng máy
Các chủ đề chính có thể được thảo luận và thống nhất với giảng viên trước khi khóa học diễn ra. Không khí thoải mái và vui vẻ trong suốt các ngày hội thảo.
Lorenz - Continentale Lebensversicherung AG
Khóa học - Advanced Selenium
Dịch thuật bằng máy
Tôi đã học được những kiến thức mới và khá tự tin về nó. Không có gì không rõ ràng.
Barbara - Titian Software Poland Sp. z o.o.
Khóa học - Selenium WebDriver in C#
Dịch thuật bằng máy