Đề 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 dự án Cypress tối thiểu
-
Bài kiểm thử E2E đầu tiên trong chế độ GUI và không có giao diện
Các khái niệm cơ bản
-
Cơ bản Cypress, hàng đợi lệnh, tự động thử lại
-
Sử dụng hooks: before, beforeEach, afterEach, after
-
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 API với
cy.intercept()cho các trường hợp đặc biệt -
Đảm bảo sự ổn định của tích hợp giữa frontend và 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ã sạch và dễ bảo trì với các lệnh tái sử dụng (
cy.login())
Lịch trình: lý thuyết + demo + bài tập thực hành Yêu cầu 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.interceptvàcy.session -
Tránh các bài kiểm thử không ổn định, cải thiện sự ổ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ố 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
-
Truy cập: cypress-axe, cypress-audit
-
Kiểm thử hồi quy trực quan: 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 không có giao diện
-
Chạy tự động các bài kiểm thử 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 học viên
- Kỹ sư kiểm thử phần mềm
Đánh giá (5)
Go sau khi báo cáo, Ł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 tất cả mọi thứ vì đối với tôi mọi thứ đều mới mẻ và tôi có thể thấy giá trị bổ sung 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áo viên đã giải thích chi tiết mọi tính năng.
Argean Quilaquil - DXC
Khóa học - TestComplete
Dịch thuật bằng máy
Giảng viên rất tốt. Cách giải thích của ông ấy rõ ràng và thú vị. Ông cố gắng làm cho bài học trở nên hấp dẫn nhất có thể. Tôi đã tận hưởng bà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 radio và nút bấm.有部分文本无法顺畅翻译,请允许我稍作调整以确保整体流畅: Giảng viên rất tốt. Cách giải thích của ông ấy rõ ràng và thú vị. Ông cố gắng làm cho bài học trở nên hấp dẫn nhất có thể. Tôi đã tận hưởng bà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 radio và nút bấm. Đôi khi, ID của phần tử không đượccapture chính xác. Chúng tôi đã học một cách khác để xác định các phần tử bằng cách sử dụng CSS selectors, XPath, Name và ID. Tôi thích cách giải thích. Cảm ơn. 请注意,我保留了CSS selectors和XPath原文,因为它们可能是特定术语或代码片段。
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 đến phần tiếp theo. Bạn có thể sử dụng những gì đã học trong đoạn trước vào phần sau.
Sacha Mannion - BeyondTrust
Khóa học - C# for Automation Test Engineers
Dịch thuật bằng máy