A PHP Error was encountered

Severity: Warning

Message: file_get_contents(/home/anhtest2/public_html/application/cache/Category_model_SelectById42.cache): failed to open stream: No such file or directory

Filename: drivers/Cache_file.php

Line Number: 275

Backtrace:

File: /home/anhtest2/public_html/application/core/MY_Model.php
Line: 25
Function: get

File: /home/anhtest2/public_html/application/core/MY_Model.php
Line: 43
Function: query_cache

File: /home/anhtest2/public_html/application/controllers/frontend/Course.php
Line: 202
Function: SelectById

File: /home/anhtest2/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Trying to access array offset on value of type bool

Filename: drivers/Cache_file.php

Line Number: 277

Backtrace:

File: /home/anhtest2/public_html/application/core/MY_Model.php
Line: 25
Function: get

File: /home/anhtest2/public_html/application/core/MY_Model.php
Line: 43
Function: query_cache

File: /home/anhtest2/public_html/application/controllers/frontend/Course.php
Line: 202
Function: SelectById

File: /home/anhtest2/public_html/index.php
Line: 315
Function: require_once

Website and API Testing Automation with Playwright Python (KHÔNG DẠY CODE PYTHON) + Ứng dụng AI | Anh Tester 

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

Yêu cầu

    • Cần biết code Python (Core & OOP) ở mức độ vừa đủ

Nội dung khóa học

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 ĐÃ 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 trên Website và API, rất thích hợp dành cho người mới bắt đầu. Ứng dụng AI trong Test Automation với Playwright MCP. ...




🎯Cách học Video Record:

  • An gửi full video record qua mail
  • Một tuần học 4-5 video và học trong tầm 3 tháng (từ không biết gì đến làm được việc)
  • Tài liệu và câu hỏi trao đổi trên Zalo group
  • Không giới hạn thời gian xem video và support
  • 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á


🎯Cách học Online:

  • Chuẩn bị ZOOM app để call trực tiếp (có record sau mỗi buổi online)
  • 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 4 tháng (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)

Danh sách bài học

Số bài học: 30 bài Tổng thời lượng: 60 giờ

  • ✅ 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.

  • Lesson Video 2 giờ
  • Tải tài liệu của bài học

  • ✅ 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.


  • Lesson Video 2 giờ
  • Tải tài liệu của bài học

  • ✅ 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.

  • Lesson Video 2 giờ
  • Tải tài liệu của bài học

  • 🧠 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.


  • Lesson Video 2 giờ
  • Tải tài liệu của bài học

  • 🧠 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).


  • Lesson Video 2 giờ
  • Tải tài liệu của bài học

  • ✅ Hiểu được mối liên kết giữa các tầng trong POM (BasePage → Page Object → Test Layer).
    ✅ Nắm vững cấu trúc dự án hoàn chỉnh và ý nghĩa từng thư mục trong automation framework.
    ✅ Phân biệt và áp dụng được các mô-đun mở rộng trong POM: Component, Utils, Data, Config.
    ✅ Biết cách xây dựng dòng chảy nghiệp vụ (Business Flow) giữa các Page Object.
    ✅ Định hình được tư duy thiết kế framework chuyên nghiệp có khả năng mở rộng và tái sử dụng.


  • Lesson Video 2 giờ
  • Tải tài liệu của bài học

  • ✅ Hiểu được vấn đề của code “rác” trong automation test.
    ✅ Nắm được triết lý tách biệt WHAT (nghiệp vụ)HOW (kỹ thuật) trong POM.
    ✅ Biết cách xây dựng BasePage để gom logic chung.
    ✅ Tạo được Page Object riêng cho từng trang web.
    ✅ Biết kết nối POM với Pytest Fixture để viết test ngắn gọn, dễ bảo trì.
    ✅ Thực hành tạo một LoginPageInventoryPage hoàn chỉnh.

  • Lesson Video 2 giờ
  • Tải tài liệu của bài học

  • 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).

  • Lesson Video 2 giờ
  • Tải tài liệu của bài học

  • ✅ 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.


  • Lesson Video 2 giờ
  • Tải tài liệu của bài học

  • ✅ Củng cố mô hình Arrange – Act – Assert (AAA) và sử dụng expect trong Playwright.
    ✅ Thành thạo Fixtures trong pytest (cơ bản, nâng cao, nhiều scope) để tái sử dụng code setup & quản lý môi trường test.
    ✅ Hiểu và áp dụng Multi Tabs: mở tab mới từ click, chờ tab mới bằng context.expect_page, xây BasePage hỗ trợ.
    ✅ Làm chủ thao tác người dùng nâng cao:

    • Upload File với set_input_files()

    • Keyboard Actions với page.keyboard.press()

    ✅ Hoàn thiện kịch bản E2E tổng hợp trên hệ thống HRM kết hợp AAA + Fixtures + Multi Tabs + Upload + Keyboard.


  • Lesson Video 2 giờ
  • Tải tài liệu của bài học

  • 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.


  • Lesson Video 2 giờ
  • Tải tài liệu của bài học

  • ✅ 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)


  • Lesson Video 2 giờ
  • Tải tài liệu của bài học

  • ✅ 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

  • Lesson Video 2 giờ
  • Tải tài liệu của bài học

  • ✅ 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


  • Lesson Video 2 giờ
  • Tải tài liệu của bài học

  • ✅ 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


  • Lesson Video 2 giờ
  • Tải tài liệu của bài học

Thông tin Giảng viên

Hà Lan

QA Automation

With over 5 years of experience in web, API, and mobile test automation, built strong expertise in designing and maintaining automation frameworks across various domains and international projects. Committed to mentoring and knowledge sharing, I provide practical guidance and proven techniques to help aspiring testers develop their skills and succeed in the automation field.