Selenium WebDriver ด้วย Node.js Guide- Selenium WebDriver Node.js

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