Automatisierte Browsertests sind für jeden Webentwickler ein Muss, um sicherzustellen, dass seine Anwendungen ordnungsgemäß funktionieren. In diesem Beitrag gehen wir durch die Einrichtung von Selenium mit JavaScript, um eine einfache Browseraufgabe zu automatisieren: Öffnen einer Webseite und Klicken auf eine Schaltfläche.
Um mitzumachen, benötigen Sie:
Erstellen Sie zunächst einen neuen Ordner für Ihr Projekt. Öffnen Sie Ihr Terminal und führen Sie Folgendes aus:
mkdir selenium-test cd selenium-test
Als nächstes initialisieren Sie ein neues Node.js-Projekt:
npm init -y
Dieser Befehl generiert eine package.json-Datei, die die Abhängigkeiten Ihres Projekts verfolgt.
Wir verwenden npm, um Selenium WebDriver und ChromeDriver zu installieren:
npm install selenium-webdriver chromedriver --save
Diese Pakete stellen die notwendigen Bibliotheken und Tools zur Automatisierung von Chrome mit Selenium bereit.
Erstellen Sie eine neue Datei mit dem Namen test.js in Ihrem Projektordner. Dieses Skript öffnet eine Webseite, wartet darauf, dass eine Schaltfläche anklickbar wird, und klickt dann darauf.
const { Builder, By, until } = require('selenium-webdriver'); const chrome = require('selenium-webdriver/chrome'); // Helper function to pause the script function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } async function runTest() { // Configure Chrome to suppress unwanted prompts let options = new chrome.Options(); options.addArguments('--no-default-browser-check', '--no-first-run', '--disable-default-apps', '--disable-infobars'); let driver = await new Builder() .forBrowser('chrome') .setChromeOptions(options) .build(); try { // Open the target webpage await driver.get('https://example.com'); // Change this URL to the site you want to test // Wait for an element to load await driver.wait(until.elementLocated(By.className('sample-class')), 10000); console.log('Found element with class "sample-class".'); // Generic wait for 6 seconds to handle any dynamic content await sleep(6000); // Wait for the button to be clickable await driver.wait(until.elementLocated(By.id('sample-button')), 10000); // Re-locate the button to ensure it’s still in the DOM let button = await driver.findElement(By.id('sample-button')); console.log('Button located:', button); // Click the button await button.click(); console.log('Button clicked successfully.'); // Wait for the next page or action to load await driver.wait(until.urlContains('new-page'), 10000); console.log('Navigation to new page was successful.'); } catch (error) { console.error('Error during the test:', error); } finally { // Always close the browser await driver.quit(); } } runTest();
Um Ihr Skript auszuführen, führen Sie Folgendes aus:
node test.js
Chrome wird geöffnet und führt die in Ihrem Skript definierten Aktionen aus. Beobachten Sie die Konsole für Protokolle, die den Fortschritt jedes Schritts anzeigen.
Sie verfügen jetzt über eine grundlegende Einrichtung für automatisierte Browsertests mit Selenium und JavaScript. Dieses Setup kann problemlos um komplexere Interaktionen, Prüfungen und Validierungsschritte erweitert werden.
Denken Sie daran, Ihre Treiber auf dem neuesten Stand zu halten, damit sie zu Ihren Browserversionen passen, und erwägen Sie die Verwendung eines Headless-Modus für CI/CD-Umgebungen.
Wenn Sie es in Azure hosten möchten, schauen Sie sich meinen anderen Beitrag an: https://dev.to/iamrule/how-to-azure-host-a-selenium-javascript-node-application-in-azure-and -send-email-notifications-on-failures-2aio
Viel Spaß beim Testen!
Das obige ist der detaillierte Inhalt vonHow to JS: Automatisieren Sie Tests mit Selenium. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!