Đề 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á (5)
Mối quan hệ tốt, Łukasz có thời gian trả lời mọi câu hỏi và giúp đỡ bất kỳ ai gặp vấn đề
Kelly Morris - Titian Software Poland Sp. z o.o.
Khóa học - Selenium WebDriver in C#
Dịch thuật bằng máy
Tôi rất thích mọi thứ vì tất cả đều mới mẻ đối với tôi và tôi có thể thấy giá trị mà nó mang lại cho công việc của mình.
Zareef - BMW South Africa
Khóa học - Tosca: Model-Based Testing for Complex Systems
Dịch thuật bằng máy
Giảng viên đã giải thích mọi chức năng một cách kỹ lưỡng.
Argean Quilaquil - DXC
Khóa học - TestComplete
Dịch thuật bằng máy
Trainer rấtnice. Giải thích của anh ấy rõ ràng và thú vị. Anh ấy cố gắng làm cho bài học trở nên hấp dẫn nhất có thể. Tôi đã rất thích các buổi học và thu được nhiều kiến thức. Cảm ơn rất nhiều. Kỹ thuật hữu ích nhất mà tôi học được là cách xác định các phần tử cho các thành phần web khác nhau như hộp văn bản, nút chọn radio và nút bấm. Đôi khi, ID của phần tử không được bắt đúng. Chúng tôi đã học cách xác định các phần tử bằng cách sử dụng các bộ chọn CSS, XPath, Tên và ID. Tôi rất thích cách giải thích. Cảm ơn nhiều.
Bee Chin Chuah - I-Access Solutions Pte Ltd
Khóa học - Advanced Selenium with C#
Dịch thuật bằng máy
Tôi thích cách các ví dụ dẫn dắt đến phần tiếp theo. Bạn có thể sử dụng những kiến thức đã học từ đoạn trước trong phần sau.
Sacha Mannion - BeyondTrust
Khóa học - C# for Automation Test Engineers
Dịch thuật bằng máy