Selenium WebDriver với Node.js là một công cụ mạnh mẽ cho việc tự động hóa kiểm thử ứng dụng web. Bằng cách sử dụng Selenium WebDriver với Node.js, bạn có thể điều khiển trình duyệt, tương tác với các phần tử trên trang web và viết các kịch bản kiểm thử tự động một cách dễ dàng. Với việc hỗ trợ cho nhiều trình duyệt phổ biến như Chrome, Firefox và Safari, Selenium WebDriver cho phép bạn kiểm thử ứng dụng web trên nhiều nền tảng khác nhau.
Bài viết này cung cấp một hướng dẫn chi tiết về cách sử dụng Selenium WebDriver với Node.js, bao gồm cài đặt, cấu hình và ví dụ thực tế để bạn có thể bắt đầu kiểm thử tự động ứng dụng web của mình một cách hiệu quả.
Hướng dẫn sử dụng Selenium WebDriver với Node.js
Cài đặt Selenium WebDriver và các dependencies
Mở terminal hoặc command prompt và di chuyển vào thư mục dự án của bạn.
Chạy lệnh sau để cài đặt Selenium WebDriver và các dependencies cần thiết:
npm install selenium-webdriver chromedriver
Lệnh trên sẽ cài đặt Selenium WebDriver cho Node.js và trình điều khiển Chrome (chromedriver) để điều khiển trình duyệt Chrome.
Import và khởi tạo WebDriver
Import các module cần thiết:
const { Builder, By, Key, until } = require('selenium-webdriver');
Khởi tạo đối tượng WebDriver cho trình duyệt mong muốn (ví dụ: Chrome):
const driver = new Builder().forBrowser('chrome').build();
Sử dụng WebDriver để tương tác với trình duyệt
Mở URL
await driver.get('https://www.example.com');
Tìm và tương tác với phần tử:
// Tìm phần tử bằng ID
const element = await driver.findElement(By.id('my-element-id'));
// Điền dữ liệu vào phần tử input
await element.sendKeys('Hello, World!');
// Nhấn phím Enter
await element.sendKeys(Key.ENTER);
// Chờ cho một phần tử xuất hiện
await driver.wait(until.elementLocated(By.css('.my-element-class')));
// Nhấp vào phần tử
await element.click();
Bạn có thể sử dụng các phương thức như findElement
, sendKeys
, click
, wait
,... để tương tác với các phần tử trên trang web.
Đóng WebDriver
Đóng trình duyệt và kết thúc quá trình chạy:
await driver.quit();
Dưới đây là một ví dụ chi tiết về cách tìm và điền dữ liệu vào một trường input trên trang web
const { Builder, By, Key, until } = require('selenium-webdriver');
async function runTest() {
try {
const driver = new Builder().forBrowser('chrome').build();
await driver.get('https://www.example.com');
// Tìm phần tử input bằng ID
const inputElement = await driver.findElement(By.id('my-input-id'));
// Điền dữ liệu vào trường input
await inputElement.sendKeys('Hello, World!');
// Nhấp phím Enter
await inputElement.sendKeys(Key.ENTER);
// Đóng trình duyệt
await driver.quit();
} catch (error) {
console.error('Test failed:', error);
}
}
runTest();
Trong ví dụ này, chúng ta tìm phần tử input bằng ID (my-input-id
), sau đó sử dụng phương thức sendKeys
để điền dữ liệu vào trường input. Cuối cùng, chúng ta nhấn phím Enter bằng cách sử dụng sendKeys(Key.ENTER)
và đóng trình duyệt bằng driver.quit()
.