❅
❅
❆
❅
❆
❅
❆
❅
❆
❆

  • 0939206009
  • thaian.it15@gmail.com
  • Facebook
  • Youtube
  • Zalo
Anh Tester Logo
  • Khoá học
    • All Courses
    • Website Testing
    • API Testing
    • Desktop Testing
    • Mobile Testing
    • Programming Language
    • CI/CD for Tester
    • Performance Testing
  • 💥Khai giảng
  • tools
    • TestGenAI - AI Test Cases Generator
    • Mobile Apps Demo
    • Automation Framework Selenium TestNG
    • Automation Framework Cucumber TestNG
    • Gherkin Convert Functions in Katalon
    • Convert object from Selenium Java to Playwright Python
    • Website Demo CRM
    • Website Demo HRM
    • Website Demo HRM GO
    • Website Demo POS
    • Website Demo eCommerce CMS
  • blog
    • Selenium C#
    • Selenium Java
    • Katalon Tools
    • Jenkins CI/CD
    • SQL cho Tester
    • Manual Testing
    • Tài liệu cho Tester
    • Automation Testing
    • akaAT Tools
    • Cucumber TestNG
    • API Testing with Postman
    • Apache Maven
    • AI in Software Testing
    • Lịch khai giảng
  • Liên hệ
  • Log in
    Sign up
New

Website and API Testing Automation with Playwright Javascript Typescript (KHÔNG DẠY CODE JS TS)

Xin chào các bạn, khóa học Playwright Javascript Typescript này nhằm hướng dẫn cho những bạn ĐàBIẾT CODE JAVASCRIPT TYPESCRIPT đi từng bước từ cơ bản đến nâng cao phần automation với Playwright. 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 làm auto test.

  • Created by Anh Tester
  • Vietnamese
  • Last updated Aug-22-2025
Facebook Linkedin Telegram Pinterest Share with Zalo Zalo

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

Yêu cầu

    • Cần biết code Javascript Typescript (vì không 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 khóa học

Xin chào các bạn, khóa học Playwright Javascript Typescript này nhằm hướng dẫn cho những bạn ĐàBIẾT CODE JAVASCRIPT TYPESCRIPT đi từng bước từ cơ bản đến nâng cao phần automation với Playwright. 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 làm auto test. ...




🎯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:

  • Thầy Hoàng
  • Công việc chính: QA Automation Engineer
  • Kinh nghiệm: hơn 07 năm làm automation test với nhiều công cụ như Playwright, Selenium, Appium,...


✅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)
Xem thêm Thu lại

Danh sách bài học

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

  • Tài nguyên cài đặt môi trường và trong khoá học

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

    • 🛠️ Hướng dẫn cài đặt môi trường

    • 🚀 Khởi tạo dự án Playwright

    • 📊 Chạy test và xem báo cáo

    • 🔬 Phân tích sâu về page object


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

  • 🏗️ Phần 1: Nền tảng - Cấu trúc một File Test Chuyên nghiệp

    🚀 Phần 2: Tăng tốc - Sử dụng Playwright Codegen


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

  • ✅ Nền tảng & Triết lý:

    ✅ Làm chủ Locator Hướng tới Người dùng

    ✅ Nắm vững Chiến lược Dự phòng:

    ✅ Sử dụng Locator Kỹ thuật (CSS & XPath)

    ✅ Khai phá Sức mạnh Quan hệ của Playwright


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

  • 🛡️ Tin tưởng Auto-Waiting trên Hành Động (Actions) 

    🎯 Dùng Web-First Assertions làm "Chốt Chặn An Toàn" 

    🚀 Làm chủ page.goto() với waitUntil


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

  • ✅ Kỹ thuật Lấy Dữ liệu: Hiểu rõ và sử dụng hiệu quả .textContent(), .innerText(), .getAttribute(), .inputValue(), .allTextContents(), và xử lý Strict Mode.

    ✅ Khẳng định Giá trị Tức thời: Nắm vững các expect thông thường (toBe, toEqual, toContain, toHaveLength, objectContaining, arrayContaining) để kiểm tra dữ liệu.


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

  • Hiểu rõ 'Actionability' ⏳✅

    Từ click() đến dragTo() 🖱️🖐️

    Gửi phím tắt hiệu quả ⌨️⚡


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

  • ☑️ Dùng setChecked() cho checkbox/radio (role=checkbox) và click() cho element "giả".

    ⬇️ Phân biệt selectOption() (cho ) và click() (cho custom dropdowns).

    ⚠️ Xử lý alert, confirm của trình duyệt bằng page.on('dialog') (lắng nghe trước).

    🖥️ Tương tác với HTML Modals (React/AntD) bằng locator (ví dụ: getByRole('dialog')).

    🔄 Dùng page.once để xử lý nhiều dialogs (OK/Cancel) trong cùng một test.


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

  • 📤 Xử lý upload (kể cả input ẩn) bằng setInputFiles và download bằng waitForEvent.

    🖼️ Tương tác với iframe (ví dụ: cổng thanh toán, quảng cáo) bằng page.frameLocator().

    🗄️ Tự động "xuyên" Shadow DOM (Open) để tìm element như bình thường.

    🔒 Hiểu rõ giới hạn của Shadow DOM (Closed) và khi nào bắt buộc dùng evaluate().

    🏞️ Phát hiện ảnh hỏng (404/CORS) bằng evaluate (check naturalWidth) và network response.


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

  • 🧠 Dùng evaluate() để tối ưu (1 round trip) hoặc đọc thuộc tính "ẩn" (như scrollTop, localStorage).

    ✅ Tránh evaluate(): Luôn ưu tiên hàm gốc (như textContent(), inputValue()) vì có auto-waiting.

    📅 Xử lý Date Picker: Dùng date-fns (như differenceInMonths) để tính toán số lần click trước, thay vì lặp và đọc UI.

    📊 Xử lý Table (Bảng): Dùng "Header Map" (Ánh xạ Cột) để chống lỗi (robust) khi thứ tự cột thay đổi.

    ⚡️ Tối ưu Table: Dùng locator:has-text (lọc hàng) + "Header Map" (lọc cột) để lấy 1 ô (cell) nhanh nhất.


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

    • Làm chủ Page Object Model (POM)
    • Thiết kế kiến trúc BasePage
    • Kỹ thuật Kế thừa (Inheritance) trong TypeScript:
    • Triển khai POM "Truyền thống"
    • Viết Test Case "Sạch":

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

  • 🎯 Chiến lược Assertion Thông minh

    ✂️ Loại bỏ Phản mẫu "Page Chaining"

    💠 Kiến trúc Component Chuyên sâu

    ⚖️ Làm chủ Nguyên tắc SRP

    💎 Xây dựng Framework Bền vững

    🛠️ Các "Viên gạch" Nền tảng (Utility Types)

    🔑 Phép biến hình dữ liệu (Type Operations)

    🏹 Giải mã Cú pháp Hàm (Function Types)

    🧠 Tư duy Logic & Trừu tượng (Core Concepts)

    🚀 THỰC CHIẾN - Combo "Hủy Diệt" (The Killer Pattern)

    🎯 Tư duy "Anti-Fragil

    💠 Thuật toán "Smart Map" & Normalization

     


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

  • 🌍 Chiến thuật "Tắc kè hoa" (Multi-Env):

    🏗️ Kiến trúc "Siêu thị" (Scalable Catalog):

    🏭 Cỗ máy tùy biến (Factory Logic):


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

  • 🚀 Bẻ khóa Playwright: Hiểu sâu bản chất Fixture không phải phép thuật, mà là Dependency Injection (DI).
    🤖 Phương pháp trực quan: Học qua mô hình "Robot Đầu Bếp",
    🛠️ Thực chiến Deep Dive: Tự tay code lại Core Container để thấu hiểu từng luồng chạy ngầm bên dưới.
    📌 Kỹ thuật Fixture căn bản: Cách khởi tạo, Merge và Inject đa dạng kiểu dữ liệu (Primitive, Object) vào Test Case.

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

  • 🔗 Kiểm soát luồng chạy Fixture Chaining (Chuỗi phụ thuộc) theo quy tắc ngăn xếp LIFO (Vào trước - Ra sau).

    🧩 Chiến lược Module hóa dự án: Chia nhỏ file con và hợp nhất tại index.ts bằng toán tử Spread (...).

    🧬  So sánh và ứng dụng hàm mergeTests() để hợp nhất các Test Object độc lập (Fusion vs Mixing).

    🏛️ Triển khai Pattern "Gatekeeper" (3 Tầng) để tự động hóa Authentication và quản lý Page Object tập trung.


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

  • Thấu hiểu kiến trúc lõi: Phân biệt rõ 4 tầng Browser > Context > Page trong Playwright.

    Kỹ thuật Manual Launch: Tự điều khiển trình duyệt (Headless/Headed, SlowMo) để Debug hiệu quả.

    Cơ chế Isolation: Cách ly tuyệt đối Cookies & Session giữa các User (như chế độ Ẩn danh).

    Thực chiến Đa tài khoản: Code kịch bản Admin chat với Guest song song trên cùng 1 bài test.

     


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

    • Bảo mật & Clean Code: Loại bỏ hoàn toàn Hardcode (URL, Password) bằng hệ thống dotenv-flow. Quản lý biến môi trường theo tầng: Default -> Staging -> Local Secret.

    • Chuẩn hóa Cross-Platform: Giải quyết triệt để xung đột lệnh giữa Windows (PowerShell) vs Mac/Linux bằng cross-env, đảm bảo script chạy mượt mà trên cả máy cá nhân và CI/CD.

    • Làm chủ Test Lifecycle: Hiểu sâu về "Tứ trụ" beforeAll, beforeEach, afterEach, afterAll. Biết chính xác khi nào code chạy và phạm vi ảnh hưởng của chúng.

    • Giải mã cơ chế Worker & Parallel: Phân tích rủi ro Race Condition (Xung đột) khi dùng Hooks trong chế độ chạy song song. Tại sao biến toàn cục (let page) là "kẻ thù" của Automation hiện đại?


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

  • 📂 Tối ưu hóa "Sân chơi" với testDir & testMatch: Hiểu rõ cơ chế quét file 3 lớp để tăng tốc độ thực thi, cô lập môi trường test và làm chủ cú pháp Glob Pattern chuyên sâu.

    🏗️ Chiến lược Phân tầng Project (Inheritance & Overriding): Kỹ thuật sử dụng cơ chế "Bố mẹ - Con cái" để ghi đè cấu hình, giúp tạo ra ma trận kiểm thử đa trình duyệt và thiết bị chỉ với một file config gọn nhẹ.

    🛡️ Phá bỏ "Hộp đen" Global Setup: Tại sao nên chuyển từ globalSetup cổ điển sang Project Dependencies để sở hữu báo cáo full HD (Trace Viewer, Video, Screenshot) ngay cả khi khởi tạo lỗi.

    ⚙️ Làm chủ Running Sequence & State Management: Nắm vững quy luật "Setup chặn cửa - Test chạy đua - Teardown bám đuôi" để điều phối luồng dữ liệu và lưu trữ trạng thái đăng nhập (Storage State) chuẩn xác.


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

  • 🎒 Phần 1: Tổng quan về TestOptions (use)

    🎥 Phần 2: Các chế độ Debug (Modes)

    🛡️ Phần 3: Xử lý bảo mật với ignoreHTTPSErrors

    👻 Phần 4: Chế độ Headless vs Headed

    🚀 Phần 5: Quyền lực khởi động (launchOptions)

    🖥️ Phần 6: Giải bài toán Maximize (Window vs Viewport)

    📸 Phần 7: Nghệ thuật chụp ảnh (screenshot)

    📱 Phần 8: Sức mạnh giả lập thiết bị (devices)

    🎒Phần 9: Vị trí lưu trữ (Output directory)


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

  • 🧠 Phần 1: Giải mã testInfo - "Thư ký hiện trường"

    🧬 Phần 2: Nguồn gốc & Vòng đời (Lifecycle)

    🗺️ Phần 3: Tư duy Phạm vi (Scope Strategy)

    ⚔️ Phần 4: Quy tắc Ghi đè (Override Rules)

    🏷️ Phần 5: Nghệ thuật sử dụng Tags (@)


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

  • 🕵️ Phần 1: Giải mã Kiến trúc Đa Tiến Trình (Multi-Process)

    🧪 Phần 2: Chiến lược Dữ Liệu & Parameterized Testing

    🏭 Phần 3: Cấu hình "Nhà Máy" Test (Workers)

    🚀 Phần 4: Chế độ Fully Parallel (Tối ưu tốc độ)


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

Thông tin Giảng viên

Teacher Avatar

Nguyên Hoàng

Automation Engineer

With 7+ years of hands-on experience across multiple languages and frameworks. I'm here to share knowledge, helping you turn complex processes into simple and effective solutions.

Giới thiệu khóa học

course-img

3,000,000 VNĐ

Xem trước nội dung Đăng ký Mua ngay

Khóa học bao gồm

  • Truy cập trọn đời
  • Video record mỗi buổi học
  • Hỗ trợ trọn đời

Tính năng khóa học

  • Thời lượng 60 giờ
  • Số bài học 30
  • Ngôn ngữ Vietnamese
  • Kỹ năng Làm được việc
  • Chứng chỉ Có

Danh mục khóa học

  • Website Testing
  • API Testing
  • Desktop Testing
  • Mobile Testing
  • Programming Language
  • CI/CD for Tester
  • Performance Testing

Khóa học mới nhất

Website and API Testing Automation with Playwright Javascript Typescript (KHÔNG DẠY CODE JS TS)

Website and API Testing Automation with Playwright Javascript Typescript (KHÔNG DẠY CODE JS TS)

Aug-15-2025 by Nguyên Hoàng
Khoá học Javascript Typescript dành cho Tester

Khoá học Javascript Typescript dành cho Tester

Aug-15-2025 by Nguyên Hoàng
Website and API Testing with Katalon Studio (DẠY ONLINE)

Website and API Testing with Katalon Studio (DẠY ONLINE)

Aug-14-2025 by Phạm Đức Hải
view all courses

Course Tags

  • Selenium
  • Appium
  • Playwright
  • Katalon
  • Java
  • Javascript
  • Python
  • Performance
  • JMeter
  • Grafana
  • Postman
  • NodeJS
  • Mobile
  • Website
  • Desktop
  • API
  • WinAppDriver
  • WebDriverIO
  • Rest Assured
  • Cypress
  • Robot Framework
  • Jenkins
  • Docker
  • AWS
  • Testing
  • Automation
  • Manual
  • C#

Liên hệ

  • 0939206009
  • thaian.it15@gmail.com
  • Anh Tester
  • Donate for Anh Tester
QR Facebook Group
QR Discord Group

Copyright © 2021-2025 Anh Tester Automation Testing