Selenium WebDriver ด้วย Node.js เป็นเครื่องมืออันทรงพลังสำหรับการทดสอบเว็บแอปพลิเคชันโดยอัตโนมัติ เมื่อใช้ร่วม Selenium WebDriver กับ Node.js คุณจะสามารถควบคุมเบราว์เซอร์ โต้ตอบกับองค์ประกอบต่างๆ บนหน้าเว็บ และเขียนสคริปต์ทดสอบอัตโนมัติได้อย่างง่ายดาย ด้วยการสนับสนุนเบราว์เซอร์ยอดนิยม เช่น Chrome, Firefox และ Safari Selenium WebDriver ช่วยให้คุณทดสอบเว็บแอปพลิเคชันในหลายๆ แพลตฟอร์มได้
บทความนี้ให้คำแนะนำโดยละเอียดเกี่ยวกับการใช้งาน Selenium WebDriver กับ Node.js ซึ่งครอบคลุมการติดตั้ง การกำหนดค่า และตัวอย่างที่ใช้งานได้จริง เพื่อช่วยให้คุณเริ่มต้นใช้งานการทดสอบเว็บแอปพลิเคชันอัตโนมัติที่มีประสิทธิภาพ
คู่มือการใช้งาน Selenium WebDriver กับ Node.js
การติดตั้ง Selenium WebDriver
และการพึ่งพา
เปิด terminal
พรอมต์คำสั่งหรือของคุณและไปที่ไดเร็กทอรีโครงการของคุณ
รันคำสั่งต่อไปนี้เพื่อติดตั้ง Selenium WebDriver
และการอ้างอิงที่จำเป็น:
npm install selenium-webdriver chromedriver
คำสั่งนี้จะติดตั้ง Selenium WebDriver
สำหรับ Node.js และไดรเวอร์ Chrome(chromedriver) สำหรับควบคุมเบราว์เซอร์ Chrome
นำเข้าและเริ่มต้น WebDriver
นำเข้าที่จำเป็น module
const { Builder, By, Key, until } = require('selenium-webdriver');
เริ่มต้นวัตถุ WebDriver สำหรับเบราว์เซอร์ที่ต้องการ(เช่น Chrome):
const driver = new Builder().forBrowser('chrome').build();
ใช้ WebDriver เพื่อโต้ตอบกับเบราว์เซอร์
เปิด URL
await driver.get('https://www.example.com');
ค้นหาและโต้ตอบกับองค์ประกอบ:
// Find an element by ID
const element = await driver.findElement(By.id('my-element-id'));
// Enter text into an input element
await element.sendKeys('Hello, World!');
// Press the Enter key
await element.sendKeys(Key.ENTER);
// Wait for an element to be located
await driver.wait(until.elementLocated(By.css('.my-element-class')));
// Click on an element
await element.click();
คุณสามารถใช้วิธีการเช่น findElement
, sendKeys
, click
, wait
ฯลฯ เพื่อโต้ตอบกับองค์ประกอบบนหน้าเว็บ
ปิด WebDriver
ปิดเบราว์เซอร์และสิ้นสุดเซสชัน:
await driver.quit();
นี่คือตัวอย่างโดยละเอียดของการค้นหาและการป้อนข้อมูลในช่องป้อนข้อมูลบนหน้าเว็บ:
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');
// Find the input element by ID
const inputElement = await driver.findElement(By.id('my-input-id'));
// Enter data into the input field
await inputElement.sendKeys('Hello, World!');
// Press the Enter key
await inputElement.sendKeys(Key.ENTER);
// Close the browser
await driver.quit();
} catch(error) {
console.error('Test failed:', error);
}
}
runTest();
ในตัวอย่างนี้ เราค้นหาองค์ประกอบอินพุตด้วย ID( my-input-id
) จากนั้นใช้ sendKeys
วิธีการป้อนข้อมูลลงในช่องอินพุต ในที่สุดเราก็กดปุ่ม Enter โดยใช้ sendKeys(Key.ENTER)
และปิดเบราว์เซอร์ด้วย driver.quit()
.