Can Tho, Vietnam

0939206009

thaian.it15@gmail.com

Website Testing Cơ bản Vietnamese

Website and API Testing Automation with Playwright Python (DẠY CODE PYTHON TỪ ĐẦU) + Ứng dụng AI

Xin chào các bạn, khóa học Playwright Python này nhằm hướng dẫn cho những bạn CHƯA BIẾT CODE PYTHON đi từng bước từ cơ bản đến nâng cao. Khoá học này dùng để kiểm thử tự động cho Website và API, rất thích hợp dành cho người mới bắt đầu. Ứng dụng AI t

Hà Lan Giảng viên: Hà Lan
creator Người tạo: Anh Tester

Tổng quan

🎯Cách học Online:

  • Chuẩn bị ZOOM app để call trực tiếp (có record sau mỗi buổi)
  • Chuẩn bị Mạng ổn định và nơi học không ồn lắm để tương tác trực tiếp
  • Một tuần học 3 buổi và học trong tầm 5 tháng (từ không biết gì đến làm được việc)
  • Tài liệu trao đổi nhanh trên Zalo group
  • Sau khi kết thúc khóa học thì An cấp chứng chỉ cho các bạn hoàn thành các yêu cầu của An gồm chuỗi bài học, bài tập và dự án auto test cuối khoá

 

🎯Thông tin về Giảng viên:

  • Cô Lan
  • Công việc chính: QA Automation Engineer tại SkyLab.
  • Kinh nghiệm: hơn 5 năm làm Automation Test tại các công ty lớn như FPT, TMA.



✅Tất cả nội dung và chất lượng khoá học được kiểm duyệt bởi Anh Tester.

🎯Thông tin về Anh Tester:

  • Võ Thái An
  • Công việc chính: Software Quality Engineer tại Phamiliar Tech in USA (remote).
  • Kinh nghiệm: hơn 7 năm làm automation test với Selenium, Appium, Katalon, Playwright và các tools khác.
  • SĐT: 0939206009 (phone/facebook/zalo)

Bạn sẽ học được gì

  • Ứng dụng AI (ChatGPT, Gemini, Antigravity, MCP...) vào quá trình học và viết Automation Test hiệu quả
  • Lập trình Python TỪ CON SỐ 0: cài đặt Python, trình quản lý gói PIP, VS Code và Virtual Environment (venv)
  • Nắm vững biến, các kiểu dữ liệu (int, float, string, bool, list, tuple, dict, set) và toàn bộ toán tử trong Python
  • Xử lý chuỗi thành thạo: slicing, các hàm len(), upper(), lower(), strip(), split()...
  • Cấu trúc điều kiện if - elif - else và vòng lặp for / while
  • Xử lý lỗi chuyên sâu try - except - else - finally để xây dựng kịch bản automation ổn định
  • Data-Driven Testing: tách dữ liệu khỏi code, đọc dữ liệu từ file JSON & Excel
  • Quản lý source code với Git & GitHub
  • Lập trình hướng đối tượng (OOP): Class/Object, __init__ & self và 4 tính chất Đóng gói - Kế thừa - Đa hình - Trừu tượng — nền tảng xây framework
  • Cài đặt, cấu hình môi trường Playwright + Pytest và viết test case đầu tiên, xuất báo cáo HTML tự động
  • Làm chủ Locator hiện đại của Playwright (hướng người dùng), CSS Selector và XPath; lấy Locator tự động bằng Codegen
  • Thành thạo Actions & cơ chế Auto-wait / Actionability: thao tác Form, chuột, bàn phím và chờ phần tử ổn định, triệt tiêu lỗi Flaky
  • Sử dụng Web-First Assertions (tự động retry) và tổ chức test case chuẩn mô hình AAA chuyên nghiệp
  • Xây dựng framework theo Page Object Model (POM) + BasePage: tách biệt nghiệp vụ và kỹ thuật, tái sử dụng code
  • Hiểu kiến trúc phân cấp Browser → Context → Page → Frame và nguyên lý thực thi tối ưu của Playwright so với Selenium
  • Làm chủ Pytest Fixtures: Setup/Teardown với yield, chống lặp code (DRY)
  • Xử lý các tình huống thực tế: Multi-tabs, Iframes, Local Storage (token/session), Table động và Dropdown nâng cao
  • Debug chuyên nghiệp với Inspector & Trace Viewer; tăng tốc bằng Parallel Execution và xuất báo cáo Allure
  • Kiểm thử API bằng Playwright (APIRequestContext): GET/POST/PUT/PATCH/DELETE, kiểm tra status, headers, body; nắm vững HTTP Status Code, PUT vs PATCH, 401 vs 403
  • Kết hợp UI + API (setup data bằng API → test UI → cleanup) và tích hợp CI/CD với GitHub Actions

Yêu cầu

  • Không cần biết code Python vẫn học được vì dạy từ đầu
  • Chuẩn bị máy tính cá nhân và Mạng tốt để học Online
  • Cài các phần mềm liên quan để học: ZOOM, Zalo

Nội dung khoá học

2 chương · 24 bài học

  • Bài 1 - [Python] Hướng dẫn cài đặt Python và trình quản lý gói PIP

    ✅ Hiểu khái niệm Python, ưu điểm và ứng dụng.
    ✅ So sánh Python với các ngôn ngữ phổ biến khác.
    ✅ Cài đặt Python, cài đặt trình quản lý gói PIP trong Python
    ✅ Cài đặt VS Code và Extension.
    ✅ Làm quen với Virtual Environment (venv).
    ✅ Thực hành chạy chương trình “Hello World” đầu tiên.

    2 giờ
  • Bài 2 - [Python] Biến - Kiểu dữ liệu và Toán tử trong Python

    ✅ Hiểu khái niệm biến trong Python và cách khai báo
    ✅ Nắm được các kiểu dữ liệu cơ bản (int, float, string, bool, list, tuple, dict, set)
    ✅ Thao tác cơ bản với biến và dữ liệu
    ✅ Hiểu và sử dụng các loại toán tử trong Python (số học, so sánh, logic, gán, membership, identity)
    ✅ Thực hành qua nhiều ví dụ minh họa
    ✅ Bài tập nhỏ cuối buổi để ôn tập

    2 giờ
  • Bài 3 - [Python] Xử lý Chuỗi trong Python

    ✅ Hiểu rõ chuỗi (string) là gì và các đặc tính cơ bản của nó trong Python.
    ✅ Sử dụng thành thạo các hàm và phương thức cơ bản:
    len(), upper(), lower(), strip().
    ✅ Nắm vững kỹ thuật cắt chuỗi (slicing) để trích xuất thông tin cần thiết.
    ✅ Biết cách tách chuỗi thành danh sách (
    split()) và nối danh sách thành chuỗi (join()).
    ✅ Vận dụng
    replace() để thay thế nội dung trong chuỗi.
    ✅ Sử dụng toán tử
    in để kiểm tra sự tồn tại của một chuỗi con.
    ✅ Áp dụng kiến thức xử lý chuỗi vào các bài toán thực tế trong test automation.

    2 giờ
  • Bài 4 - [Python] Cấu trúc điều kiện IF-ELSE-ELSE IF và vòng lặp FOR-WHILE ✅ Hiểu và viết được cấu trúc rẽ nhánh if, else, elif để xử lý các điều kiện khác nhau.
    ✅ Nắm vững khái niệm và cú pháp của vòng lặp for để duyệt qua các chuỗi, list, tuple...
    ✅ Sử dụng thành thạo hàm range() kết hợp với vòng lặp for.
    ✅ Hiểu và viết được vòng lặp while dựa trên một điều kiện cho trước.
    ✅ Phân biệt được khi nào nên dùng for và khi nào nên dùng while.
    ✅ Biết cách sử dụng breakcontinue
    2 giờ
  • Bài 5 - [Python] Xử lý lỗi chuyên sâu với TRY-EXCEPT trong Python ✅ Hiểu tại sao xử lý lỗi là kỹ năng SỐNG CÒN để xây dựng kịch bản automation ổn định.
    ✅ Nắm vững và vận dụng thành thạo toàn bộ khối lệnh
    try, except, else, và finally.
    ✅ Biết cách bắt và xử lý nhiều loại lỗi cụ thể (
    Specific Exceptions) để kịch bản linh hoạt hơn.
    ✅ Chủ động tạo ra lỗi một cách có chủ đích bằng từ khóa
    raise để kiểm soát luồng chương trình.
    ✅ Xây dựng được các hàm automation "an toàn" có khả năng tự xử lý các tình huống không mong muốn.
    2 giờ
  • Bài 6 - [Python] Đọc dữ liệu từ file JSON & EXCEL ✅ Hiểu rõ tại sao việc tách dữ liệu ra khỏi code (Data-Driven Testing) lại quan trọng.
    ✅ Nắm vững cấu trúc của một file JSON và sự tương đồng của nó với Dictionary trong Python.
    ✅ Sử dụng thành thạo thư viện
    json có sẵn của Python để đọc và chuyển đổi dữ liệu từ file .json.
    ✅ Hiểu cách Python làm việc với file Excel thông qua các thư viện bên ngoài.
    ✅ Cài đặt và sử dụng thư viện
    openpyxl để đọc dữ liệu từ file .xlsx theo từng ô, từng hàng.
    ✅ Xây dựng được kịch bản automation đọc dữ liệu test (ví dụ: tài khoản đăng nhập) từ file Excel.
    2 giờ
  • Bài 7 - [Python] Quản lý source code Python trên GitHub

    ✅ Git là gì? (Git CSM)
    ✅ Ưu điểm của Git
    ✅ Dịch vụ Git (GitHub)
    ✅ Các bước cài đặt để sử dụng được Git trên Windows

    2 giờ
  • Bài 8 - [Python] Phần 1 - Lập trình hướng đối tượng (OOP) ✅ Hiểu tại sao OOP là cốt lõi để xây dựng framework automation có thể tái sử dụng và dễ bảo trì.
    ✅ Phân biệt rõ ràng hai khái niệm: ClassObject.
    ✅ Nắm vững cách khởi tạo đối tượng với __init__ và vai trò của từ khóa self.
    ✅ Xây dựng các Class có đầy đủ AttributesMethods.
    ✅ Hiểu rõ về Scope để tránh lỗi logic.
    ✅ Vận dụng OOP để xây dựng Page Object Model (POM) đầu tiên với Python Playwright.
    2 giờ
  • Bài 9 - [Python] Phần 2 - Lập trình hướng đối tượng (OOP) ✅ Nắm vững 4 tính chất cốt lõi của Lập trình Hướng đối tượng: Đóng gói, Kế thừa, Đa hình, và Trừu tượng.
    ✅ Hiểu cách che giấu dữ liệu (Encapsulation) để tạo ra các component an toàn và đáng tin cậy.
    ✅ Tận dụng tính kế thừa (Inheritance) để loại bỏ code lặp lại và xây dựng các Page Object có cấu trúc.
    ✅ Vận dụng tính đa hình (Polymorphism) để viết code linh hoạt, có khả năng xử lý nhiều dạng đối tượng khác nhau.
    ✅ Thiết kế các lớp trừu tượng (Abstraction) để định hình cấu trúc cho framework.
    ✅ Phân biệt và sử dụng thành thạo @staticmethod@classmethod.
    2 giờ

  • [Playwright Python] TÀI NGUYÊN KHOÁ HỌC Tài nguyên cài đặt môi trường và trong khoá học
  • Bài 10 - [Playwright Python] Giới thiệu Playwright - Cài đặt và Viết kịch bản đầu tiên

    ✅ Hiểu rõ giá trị cốt lõi của Playwright (Auto-wait, Tốc độ, Multi-browser).
    ✅ Thiết lập thành công môi trường Playwright + Pytest.
    ✅ Phân tích vai trò của từng thư viện: Pytest, PIP, Fixture page.
    ✅ Viết và chạy được Test Case Playwright đầu tiên, tạo được báo cáo HTML tự động.

    2 giờ
  • Bài 11 - [Playwright Python] Locators - CẶP MẮT CỦA ROBOT PLAYWRIGHT

    ✅ Hiểu rõ khái niệm Locator là gì và tầm quan trọng sống còn của nó trong Automation.
    ✅ Nắm vững nhóm Locator hiện đại (hướng người dùng) – vũ khí tối thượng của Playwright.
    ✅ Biết cách đọc mã HTML cơ bản để tự viết CSS Selector siêu tốc.
    ✅ Sử dụng "vũ khí bí mật" Codegen để lấy Locator tự động.
    ✅ Viết kịch bản tổng hợp: Tìm kiếm, nhập dữ liệu và click chuột.

    2 giờ
  • Bài 12 - [Playwright Python] XPath locator ✅ Hiểu XPath là gì và tại sao gọi nó là vũ khí "hạng nặng" cuối cùng.
    ✅ Phân biệt XPath Tuyệt đối (Tuyệt đối tránh xa) và XPath Tương đối (Khuyên dùng).
    ✅ Bỏ túi "bảng cửu chương" cú pháp XPath từ cơ bản đến nâng cao.
    (QUAN TRỌNG) Làm chủ "Hệ tư tưởng Gia phả": Lội ngược dòng (Ancestor, Parent) và tìm kiếm anh em họ hàng (Sibling, Following).
    ✅ Viết kịch bản tổng hợp sử dụng XPath trong Playwright.
    2 giờ
  • Bài 13 - [Playwright Python] Actions & Wait

    🧠 Nắm vững tư duy bất đồng bộ: Hiểu rõ vì sao phải "Wait" và sự tiến hóa của các cơ chế chờ trong ngành Automation.
    🛠️ Thành thạo bộ thư viện Actions: Làm chủ các thao tác tương tác Form, chuột nâng cao và phím tắt bàn phím.
    ⚙️ Hiểu rõ Actionability Checks: Biết cách Playwright tự động kiểm tra trạng thái phần tử trước khi hành động.
    🚧 Biết cách xử lý ngoại lệ: Vận dụng các lệnh Wait chủ động khi gặp các kịch bản Single Page Application (SPA) phức tạp.

    2 giờ
  • Bài 14 - [Playwright Python] Assertions

    🧠 Hiểu rõ Web-First Assertions: Nắm vững cơ chế tự động thử lại (Auto-retrying) triệt tiêu lỗi Flaky.
    🏗️ Áp dụng chuẩn mô hình AAA: Tổ chức cấu trúc mã nguồn test case khoa học và chuyên nghiệp.
    🛠️ Làm chủ hệ thống expect: Vận dụng linh hoạt các hàm kiểm tra trạng thái hiển thị, nội dung văn bản và thuộc tính.
    🪂 Kỹ thuật nâng cao: Sử dụng thành thạo Soft Assertions để tối ưu hóa việc kiểm thử giao diện (UI Testing).

    2 giờ
  • Bài 15 - [Playwright Python] PAGE OBJECT MODEL (POM) & BASEPAGE Nhận diện "Code rác": Hiểu vấn đề của việc viết Test thiếu kiến trúc.
    Triết lý POM: Nắm vững sự tách biệt giữa WHAT (nghiệp vụ) và HOW (kỹ thuật).
    Xây dựng BasePage: Gom nhóm các hành động chung (click, fill) để dùng lại.
    Thiết kế Page Object: Tạo các lớp đại diện cho từng trang web cụ thể.
    Tối ưu hóa: Kết nối POM với Test Case để viết code ngắn gọn, dễ bảo trì.
    Thực hành: Xây dựng cấu trúc hoàn chỉnh cho LoginPageInventoryPage.
    2 giờ
  • Bài 16 - [Playwright Python] Nền tảng tạo nên sức mạnh của Playwright

    ✅ Hiểu được rõ mô hình kiến trúc phân cấp của Playwright.

    ✅ Hiểu được các thành phần cấu tạo nên sức mạnh của Playwright và cách khởi tạo nên chúng.

    ✅ Nắm được nguyên lý mà Playwright thực thi script automation test.

    ✅ Biết được sự tối ưu về cách thực thi script của Playwright so với Selenium.

  • Bài 17 - [Playwright Python] Fixtures Pytest Chống lặp code (DRY): Hiểu rõ Fixture là gì và tại sao nó là "cỗ máy" chuẩn bị (setup) và dọn dẹp (teardown) mạnh mẽ nhất của Pytest.
    Làm chủ Setup & Teardown: Sử dụng yield để tách biệt phần "chuẩn bị" (ví dụ: đăng nhập, tạo data) khỏi phần "dọn dẹp" (ví dụ: đăng xuất, xóa data) một cách an toàn.
    TỐI ƯU HÓA TỐC ĐỘ: Hiểu sâu sắc 4 cấp độ scope của Fixture (function, class, module, session) để quyết định khi nào cần cô lập (isolation) và khi nào cần hiệu suất (performance).
    2 giờ
  • Bài 18 - [Playwright Python] MULTI-TABS, IFRAMES & LOCAL STORAGE TRONG PLAYWRIGHT PYTHON ✅ Hiểu rõ cấu trúc Browser → Context → Page → Frame → Storage trong Playwright.
    ✅ Nắm được lý do – mục đích – trường hợp thực tế cần xử lý:
      • Tab mới mở từ thao tác click.
      • Iframe chứa nội dung nhúng.
      • Local storage lưu token/session/setting phía client.
    •  

    ✅  Xây dựng BasePage hỗ trợ tính năng nâng cao (multi-tab).
    ✅  Xây dựng Page Object có khả năng:

      • Mở tab mới

      • Trả về PO của tab mới

      • Xử lý iFrame (nếu có)

      • Tương tác với LocalStorage

    ✅ Hoàn thiện kịch bản E2E thực tế dựa trên hệ thống HRM.

    2 giờ
  • Bài 19 - [Playwright Python] NÂNG CAO XỬ LÝ TABLE & DROPDOWNS

    ✅ Nhận diện các loại Table trên UI thực tế
    ✅ Phân tích đặc điểm DOM & hành vi load dữ liệu của từng loại table
    ✅ Đọc dữ liệu table theo row / column / cell
    ✅ Thao tác action theo từng row (Edit / Delete / View)
    ✅ Xử lý Pagination / Sorting / Dynamic loading
    ✅ Xử lý Dropdown (native & custom)
    ✅ Viết hàm reusable để code ngắn gọn, ổn định, tránh flaky

    2 giờ
  • Bài 20 - [Playwright Python] Debug & Tăng tốc thực thi (Parallel Execution) và Allure

    Làm chủ kỹ thuật Debug: Biết cách dùng Inspector để "chạy từng bước" và Trace Viewer để "xem lại lịch sử" khi test case thất bại.

    Tối ưu thời gian (Parallel Execution): Biết cách chạy song song nhiều test case cùng lúc để giảm thời gian chờ đợi từ hàng tiếng xuống hàng phút.

    Kiểm thử đa trình duyệt: Chạy bộ test trên cả 3 engine phổ biến (Chromium, Firefox, WebKit) chỉ với một dòng lệnh.

    2 giờ
  • Bài 21 - [Playwright Python] APIRequestContext & KIỂM TRA RESPONSE TRONG PLAYWRIGHT

    ✅ Hiểu APIRequestContext là gì và dùng khi nào trong Playwright
    ✅ Biết tạo request context (baseURL, headers, auth, storageState)
    ✅ Thực hành gọi API: GET / POST / PUT / PATCH / DELETE
    ✅ Kiểm tra response: status, headers, body, schema đơn giản
    ✅ Viết test API bằng pytest + Playwright request
    ✅ Ứng dụng vào automation thực tế:

    • Setup dữ liệu qua API để test UI nhanh hơn

    • Login bằng API rồi mở UI với storageState

    • Verify UI bằng cách đối chiếu API (API vs UI)

    2 giờ
  • Bài 22 - [Playwright Python] ÔN TẬP API – HTTP STATUS CODE & UPDATE STRATEGY

    ✅ Hiểu bản chất HTTP Status Code
    ✅ Phân loại và sử dụng đúng status code trong từng tình huống
    ✅ Phân biệt rõ PUT vs PATCH
    ✅ Phân biệt chính xác 401 vs 403
    ✅ Áp dụng status code vào kiểm tra kết quả API một cách nhất quán
    ✅ Đọc response và đánh giá đúng hành vi hệ thống

    2 giờ
  • Bài 23 - [Playwright Python] KẾT HỢP UI + API & CI/CD GITHUB ACTIONS ✅ Hiểu tại sao phải kết hợp API + UI trong automation
    ✅ Biết flow chuẩn: Setup data bằng API → test UI → cleanup bằng API
    ✅ Tổ chức framework tách biệt UI / API rõ ràng
    ✅ Viết test UI phụ thuộc dữ liệu API (không phụ thuộc môi trường)
    ✅ Chạy toàn bộ test suite (API + UI) bằng 1 lệnh
    ✅ Tích hợp CI/CD với GitHub Actions + Report
    2 giờ
Khoá học bao gồm
  • 80 giờ bài học
  • Truy cập trọn đời
  • Bài tập thực hành
  • Dự án thực tế thực chiến
  • Chứng chỉ hoàn thành
Thông tin khoá học
  • Đã đăng ký: 18 học viên
  • Số chương: 2
  • Số bài học: 24
  • Trình độ: Cơ bản
  • Ngôn ngữ: Vietnamese
  • Chứng chỉ: Có