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