Showing posts with label SeleniumIDE. Show all posts
Showing posts with label SeleniumIDE. Show all posts

Selenium - khái niệm cơ bản 2026

Selenium là gì?

Selenium là bộ công cụ mã nguồn mở (Open Source) dùng để tự động hóa trình duyệt web (Browser Automation). Nó được sử dụng rộng rãi nhất trong lĩnh vực Automation Testing cho ứng dụng web.

Đặc điểm nổi bật:

  • Miễn phí, cộng đồng sử dụng rất lớn trên toàn thế giới.
  • Hỗ trợ đa trình duyệt: Chrome, Firefox, Edge, Safari.
  • Hỗ trợ đa hệ điều hành: Windows, macOS, Linux.
  • Hỗ trợ đa ngôn ngữ lập trình: Java, Python, C#, JavaScript, Ruby, Kotlin.
  • Tích hợp dễ dàng với các framework: TestNG, JUnit, pytest, NUnit, Mocha...

Các thành phần của Selenium (2026)

Tính đến thời điểm hiện tại, Selenium gồm 4 thành phần chính:

1. Selenium WebDriver

Đây là thành phần cốt lõi và quan trọng nhất. WebDriver cho phép bạn viết code để điều khiển trình duyệt theo lập trình (programmatically).

Những thay đổi quan trọng trong Selenium 4:

  • W3C WebDriver Protocol: Selenium 4 sử dụng chuẩn W3C thay vì JSON Wire Protocol cũ. Điều này giúp giao tiếp giữa code và trình duyệt ổn định, nhất quán hơn rất nhiều.
  • Options thay cho DesiredCapabilities: Không còn dùng DesiredCapabilities, thay vào đó sử dụng ChromeOptions, FirefoxOptions, EdgeOptions... để cấu hình trình duyệt.
  • ChromeDriver kế thừa ChromiumDriver: Kiến trúc class rõ ràng hơn, ChromeDriver và EdgeDriver giờ cùng kế thừa từ ChromiumDriver.
// Selenium 3 (CŨ - không nên dùng nữa)
DesiredCapabilities caps = new DesiredCapabilities();
caps.setBrowserName("chrome");
WebDriver driver = new RemoteWebDriver(caps);

// Selenium 4 (MỚI - cách chuẩn hiện tại)
ChromeOptions options = new ChromeOptions();
options.addArguments("--start-maximized");
WebDriver driver = new ChromeDriver(options);

2. Selenium IDE

Selenium IDE là công cụ Record & Playback cho phép ghi lại thao tác trên trình duyệt mà không cần viết code.

Có gì mới?

  • Selenium IDE đã được viết lại hoàn toàn, hiện là extension cho Chrome, FirefoxEdge.
  • Hỗ trợ control flow: if, else, while, times.
  • Có thể export test script sang nhiều ngôn ngữ (Java, Python, C#, JavaScript...).
  • Chạy test từ command line với selenium-side-runner (cần Node.js).
Lưu ý: Selenium IDE phù hợp để học và tạo test nhanh (prototype). Với dự án thực tế, bạn nên chuyển sang Selenium WebDriver để có khả năng tùy biến và bảo trì tốt hơn.

3. Selenium Grid

Selenium Grid cho phép bạn chạy test song song (parallel) trên nhiều máy, nhiều trình duyệt cùng lúc, giúp giảm đáng kể thời gian thực thi.

Grid trong Selenium 4 đã được thiết kế lại hoàn toàn:

  • Kiến trúc mới: Gộp Hub và Node vào một file JAR duy nhất; có thể chạy Standalone hoặc Distributed mode.
  • Hỗ trợ Docker & Kubernetes: Tích hợp native với Docker/K8s, dễ dàng deploy lên cloud.
  • Giao diện quản lý mới: UI trực quan hơn, xem được trạng thái node, session đang chạy, live preview.
  • Tối ưu parallel testing: Load balancing tốt hơn, phân phối test hiệu quả hơn.
# Chạy Grid Standalone (cách đơn giản nhất)
java -jar selenium-server-4.x.x.jar standalone

# Mở Grid UI tại: http://localhost:4444/ui

4. Selenium Manager

Đây là thành phần mới hoàn toàn trong Selenium 4 (không có trong bài viết cũ năm 2017).

  • Selenium Manager tự động tải và quản lý browser driver (chromedriver, geckodriver, msedgedriver...) phù hợp với version trình duyệt đang cài trên máy.
  • Bạn không cần tải driver thủ công hay sử dụng thư viện bên thứ 3 như WebDriverManager nữa.
  • Chỉ cần viết code và chạy — Selenium Manager sẽ lo phần còn lại.
Lưu ý quan trọng: Nếu bạn đọc tài liệu cũ (trước 2022), hầu hết sẽ hướng dẫn bạn tải chromedriver thủ công và đặt vào System PATH. Với Selenium 4 mới, bước này không còn cần thiết nữa.

Tính năng nổi bật của Selenium 4

Ngoài các thay đổi ở từng thành phần, Selenium 4 còn mang đến nhiều tính năng mạnh mẽ:

Relative Locators (Locator tương đối)

Cho phép tìm element dựa trên vị trí tương đối so với element khác, rất trực quan:

  • above() — phía trên
  • below() — phía dưới
  • toLeftOf() — bên trái
  • toRightOf() — bên phải
  • near() — gần
// Tìm element nằm bên dưới element có id="email"
WebElement password = driver.findElement(
    RelativeLocator.with(By.tagName("input")).below(By.id("email"))
);

Chrome DevTools Protocol (CDP)

Selenium 4 tích hợp native với CDP, mở ra nhiều khả năng nâng cao:

  • Giả lập mạng (Network emulation): test trên 3G, offline...
  • Giả lập vị trí địa lý (Geolocation)
  • Bắt console log, network request
  • Phân tích hiệu năng trang web (Performance metrics)

Quản lý Window/Tab mới

Mở tab hoặc window mới dễ dàng mà không cần tạo WebDriver object mới:

// Mở tab mới
driver.switchTo().newWindow(WindowType.TAB);

// Mở window mới
driver.switchTo().newWindow(WindowType.WINDOW);

So sánh nhanh: Selenium 3 vs Selenium 4

Tiêu chí Selenium 3 Selenium 4
Giao thức JSON Wire Protocol W3C WebDriver Protocol
Cấu hình browser DesiredCapabilities Browser Options (ChromeOptions...)
Driver management Thủ công hoặc WebDriverManager Selenium Manager (tự động)
Relative Locators Không có above(), below(), near()...
CDP Support Không có Tích hợp native
Selenium Grid Cấu hình phức tạp (Hub/Node riêng) Đơn giản, hỗ trợ Docker/K8s
Window/Tab management Phức tạp API newWindow(), newTab() đơn giản
Selenium IDE Chỉ Firefox, bị ngưng phát triển một thời gian Chrome, Firefox, Edge; viết lại hoàn toàn

Bắt đầu nhanh với Selenium 4 (Java)

Dưới đây là ví dụ đơn giản để bạn chạy thử ngay:

Bước 1: Thêm dependency (Maven)

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>4.33.0</version>
</dependency>

Bước 2: Viết test đầu tiên

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.By;

public class FirstTest {
    public static void main(String[] args) {
        // Selenium Manager tự động tải chromedriver - không cần setup thủ công!
        ChromeOptions options = new ChromeOptions();
        options.addArguments("--start-maximized");

        WebDriver driver = new ChromeDriver(options);

        // Mở trang web
        driver.get("https://www.google.com");

        // Tìm ô search và nhập text
        driver.findElement(By.name("q")).sendKeys("Selenium WebDriver tutorial");

        // In ra title
        System.out.println("Page title: " + driver.getTitle());

        // Đóng trình duyệt
        driver.quit();
    }
}

Tài liệu tham khảo chính thức


Bài viết được cập nhật tháng 02/2026. Nếu bạn thấy thông tin nào đã lỗi thời, hãy để lại comment bên dưới nhé!

Cài đặt Selenium IDE (2026)

Cài đặt và Sử dụng Selenium IDE (Cập nhật 2026)


1. Selenium IDE là gì?

Selenium IDE (Integrated Development Environment) là một công cụ record & playback - giúp bạn tự động hóa thao tác trên trình duyệt mà không cần viết code.

Cách hoạt động rất đơn giản:

  • Bạn thao tác trên trình duyệt như bình thường (click, nhập text, điều hướng...)
  • Selenium IDE ghi lại tất cả thao tác đó thành các command tự động
  • Bấm Play để tự động thực hiện lại bất kỳ lúc nào

2. Tại sao nên dùng Selenium IDE?

  • Không cần biết code - phù hợp cho người mới và Manual Tester
  • Cài đặt cực đơn giản - chỉ cần add extension vào trình duyệt, dùng ngay
  • Debug dễ - có breakpoint, step-over, execution log chi tiết
  • Export sang code - chuyển test đã record sang Python, Java, C#, JavaScript, Ruby
  • Tái sử dụng - lưu file .side, mở được trên nhiều máy và trình duyệt khác nhau

3. Cài đặt Selenium IDE

🔵 Trên Google Chrome

  1. Mở Chrome, truy cập Chrome Web Store: nhập chrome://extensions vào địa chỉ bar
  2. Tìm kiếm "Selenium IDE" (chọn đúng tiện ích của Selenium Project)
  3. Nhấn "Add to Chrome""Add extension"
  4. Icon Selenium IDE xuất hiện trên thanh toolbar - sẵn sàng sử dụng!

🟠 Trên Mozilla Firefox

  1. Mở Firefox, nhập about:addons vào địa chỉ bar
  2. Tìm kiếm "Selenium IDE"
  3. Nhấn "Add to Firefox""Add" khi được hỏi xác nhận

🟢 Trên Microsoft Edge

  1. Vào Edge Add-ons Store, tìm "Selenium IDE" và cài tương tự như Chrome

💡 Không thấy icon Selenium IDE trên toolbar?
Vào chrome://extensions → tìm Selenium IDE → bật toggle. Hoặc click icon puzzle 🧩 trên toolbar → Ghim (Pin) Selenium IDE để luôn hiển thị.


4. Tạo và Record Test Case đầu tiên

Bước 1: Mở Selenium IDE

Click icon Selenium IDE trên toolbar → Cửa sổ IDE mở ra với màn hình Welcome.

Bước 2: Chọn "Record a new test in a new project"

  • Nhập Project Name (ví dụ: Demo Project)
  • Nhập Base URL - URL trang web bạn muốn test (ví dụ: https://google.com)
  • Click "Start Recording"

Bước 3: Thực hiện thao tác trên trình duyệt

Một cửa sổ trình duyệt mới mở ra. Bạn thao tác bình thường:

  • Nhập từ khóa vào ô tìm kiếm
  • Click button tìm kiếm
  • Điều hướng sang trang khác...

IDE tự động ghi lại tất cả dưới dạng các command có thể đọc và chỉnh sửa.

Bước 4: Dừng ghi và lưu

  • Quay lại cửa sổ Selenium IDE → Click icon Stop Recording (hình tròn đỏ)
  • Đặt tên test case (ví dụ: DemoTest)
  • Click biểu tượng Save (góc trên phải) → chọn thư mục lưu → file được lưu với đuôi .side

5. Chạy lại Test (Playback)

  • Chọn test case muốn chạy trong danh sách bên trái
  • Click nút ▶ Run (tam giác xanh trên toolbar)
  • Trình duyệt tự động thực hiện lại các thao tác đã record

Điều chỉnh tốc độ chạy: Click icon ⏱ → kéo slider từ Slow → Fast theo ý muốn


6. Debug khi test bị lỗi

Tính năng Cách sử dụng
Execution Log Xem ở panel dưới - hiển thị command nào đang chạy hoặc fail
Breakpoint Click vào số thứ tự dòng của command → test dừng tại đó để kiểm tra
Step Over Chạy từng command một để tìm ra đúng bước bị lỗi
Pause on Exception Tự dừng khi gặp lỗi thay vì fail ngay - giúp debug nhanh hơn

7. Export Test sang Python/Java (Bonus)

Đây là tính năng cực kỳ hữu ích để học Selenium WebDriver:

  1. Record xong test case
  2. Click vào 3 chấm dọc (⋮) cạnh tên test
  3. Chọn "Export"
  4. Chọn ngôn ngữ: Python, Java, JavaScript, C#, Ruby
  5. Save file → dùng được ngay với Selenium WebDriver

🎯 Tip học Selenium hiệu quả: Record bằng Selenium IDE → Export ra Python → đọc code được sinh ra → từ đó hiểu cách tự viết thủ công. Đây là cách học nhanh nhất cho người mới!


8. Giới hạn cần biết

  • ❌ Không phù hợp với ứng dụng web dynamic phức tạp (AJAX nặng, Single Page App)
  • ❌ Không tự chụp screenshot khi test fail
  • ❌ Không tạo report chi tiết (HTML report, dashboard)
  • ❌ Không phù hợp với data-driven testing quy mô lớn

→ Khi cần nâng cao hơn, bạn nên chuyển sang Selenium WebDriver + Robot Framework hoặc pytest


9. Kết luận

Selenium IDE hiện nay là công cụ đa trình duyệt, dễ dùng và mạnh mẽ. Bạn không cần cấu hình phức tạp - chỉ cần add extension là dùng ngay.

Đây vẫn là điểm khởi đầu lý tưởng cho bất kỳ ai muốn học automation testing mà chưa biết code.

Lộ trình học automation testing từ đầu:

  1. Selenium IDE - Record & Playback (bài này)
  2. Selenium WebDriver + Python - Viết test bằng code
  3. Robot Framework - Tích hợp CI/CD, chạy test tự động