亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Inhaltsverzeichnis
Erstellen Sie Tests mit Mocha
Mocha Einführung
Installation Mocha
Testsuite und Testfallstruktur
verwalten
JavaScript Selenium 3 Integration mit Mochajs
Einführung in Selen
selenium installation
Webdriver Construct
Builder mit Optionen
Builder mit Funktionen
Selenium Webdriver Control Flow und Promise Management
mochajs selenium webdriver
Versprechenbasierte
Selenium Webdriver Support für Mochajs
Wie schreibe ich grundlegende Testf?lle mit Selenium WebDriver und Mokka?
Wie kann ich in meinen Testf?llen mit asynchronen Operationen umgehen?
Wie führe ich meine Testf?lle mit Mokka aus?
Wie kann ich in meinem Testfall Behauptungen verwenden?
Wie kann ich in meinen Testf?llen Fehler umgehen?
Wie kann man mit Elementen auf einer Webseite interagieren?
Wie kann man in meinem Testfall auf die Bedingungen warten?
Wie führe ich meine Testf?lle in verschiedenen Browsern aus?
Heim Web-Frontend js-Tutorial So testen Sie Ihr JavaScript mit Selenium WebDriver und Mokka

So testen Sie Ihr JavaScript mit Selenium WebDriver und Mokka

Feb 16, 2025 pm 01:21 PM

How to Test Your JavaScript with Selenium WebDriver and Mocha

Kernpunkte

  • mocha.js ist ein featurereiches JavaScript-Test-Framework, das auf Node.js basiert und zum Schreiben von JavaScript-Funktionstests in Kombination mit Selenium WebDriver 3 und NodeJS verwendet werden kann. Dies erfordert Vertrautheit mit den Grundlagen von NodeJS und JavaScript -Programmiersprachen.
  • Mokka bietet eine API zum Erstellen von Testcode in Testsuiten und Testfallmodule, um die Ausführung und die Erzeugung von Bericht zu erm?glichen. Es unterstützt Testsuite -Setup- und Teardown -Funktionen sowie Testfall -Setup- und -Reardown -Funktionen.
  • selenium webdriver ist eine Bibliothek, die Webbrowser steuert und das Benutzerverhalten simuliert und in Mochajs integriert werden kann. Es bietet eine spezifische API der Sprachbibliothek mit dem Namen "Bindung", um den Browser zu steuern.
  • asynchronisierte Funktionen, die mit Mokka verwendet werden, müssen korrekt behandelt werden, um unerwartete Ergebnisse zu vermeiden. Dies kann durchgeführt werden, indem die Funktion "Fertig" an die Rückrufkette weitergegeben oder ein Versprechen zurückgegeben wird.
  • Andere Frameworks wie Webdriverio, Prospractor und CodesptJs bieten Wrapper -L?sungen, die einige Konfigurationen für Benutzer ausblenden und eine verbesserte Versprechungsverarbeitung für ein besseres Skripterlebnis bieten.

Dieser Artikel wurde ursprünglich auf TestProject ver?ffentlicht.

Wenn Sie Funktionstests in JavaScript schreiben m?chten, bietet dieses Tutorial UI -Automatisierungsingenieure das perfekte strukturierte Referenzmaterial für JavaScript -Tests mit Selenium WebDriver 3, Mokka und NodeJs.

JavaScript ist heute eine allgegenw?rtige Websprache, die seine "berüchtigte" Vergangenheit zu überwinden scheint und nicht nur für Clients, sondern auch für Server zu einer zuverl?ssigeren Plattform geworden ist. Mocha.js (oder kurz Mokka) ist ein featurereiches JavaScript-Test-Framework, das auf Node.js.

Hinweis: Um dieses JavaScript -Tutorial zu lernen, müssen Sie mit den Grundlagen von NodeJs und JavaScript -Programmiersprachen vertraut sein.

Tutorial -übersicht:

  1. Mokka -Test -Build
  • Einführung
  • Installation
  • Installieren des Chai -Assertion -Moduls
  • Testsuite und Testfallstruktur
  • Erstellen Sie Tests mit Mocha
  • Testsuiten und Testf?lle mit Mokka
  • Synchronisation des asynchronen Testcodes
  • verwalten
  1. Verwenden des JavaScript -Seleniums 3 -API, das in Mochajs integriert ist
  • Einführung in Selen
  • selenium installation
  • Webdriver Construct
  • Integrieren Sie Mochajs in Selenium WebDriver 3

Version verwendet:
  • Knotenversion: 6.10.1 (LTS)
  • Mocha: 2.5.3
  • WebDriverJS: 3.3.0
  1. Erstellen Sie Tests mit Mocha

Mocha Einführung

Wie bereits erw?hnt, ist Mocha ein JavaScript -Test -Framework, das Tests auf dem Knoten ausführt. Mokka wird in Form eines Knotenpakets (über NPM) bereitgestellt, sodass Sie den Standard "Assert" -Funktionen des Knotens durch eine Assertion -Bibliothek wie Chaijs ersetzen k?nnen. Darüber hinaus hat Mokka mehrere Komponenten ?hnlich wie Jasmine, ein weiteres beliebtes Testautomatisierungsrahmen, das wir in der Trendstudie mit Front-End- und Unit-Testautomatisierung erw?hnt haben).

Mocha bietet eine API, mit der eine M?glichkeit zum Erstellen von Testcode in Testsuiten und Testfallmodule für die Ausführung angegeben und dann Testberichte generiert werden. Mocha bietet zwei Betriebsmodi: Befehlszeile (CLI) oder Programmierung (Mokka -API).

Installation Mocha

Wenn Sie Mocha in der CLI verwenden m?chten, sollten Sie es global als node.js.

<code>npm install -g mocha</code>

Installieren des Chai -Assertion -Moduls

<code>npm install --save chai</code>
Mit der Option

–Save wird die Module im Rahmen des Projekts und nicht global installiert.

Testsuite und Testfallstruktur

In Mocha wird die Testsuite durch das Schlüsselwort "Beschreiben" definiert, das eine Rückruffunktion akzeptiert. Testsuiten k?nnen Sub-/Innen -Testsuiten enthalten, die ihre eigenen Subtest -Suiten enthalten k?nnen, und so weiter. Der Testfall wird durch die Funktion "IT" dargestellt, die eine Rückruffunktion akzeptiert und den Testcode enth?lt.

Mokka unterstützt Testsuite -Einstellungen und Testfalleinstellungen. "Before" bedeutet Testsuite -Einstellungen, w?hrend "Beforeach" Testfalleinstellungen bedeutet. "Beforeach" ist eigentlich ein übliches Setup für jeden Anwendungsfall in der Suite und wird vor jedem Anwendungsfall ausgeführt.

wie beim Setup unterstützt Mokka Testsuiten und Testfall -Abrechnungsfunktionen. "After" Means Test Suite Demontage und "Afterach" bedeutet, dass diese beiden Funktionen nach der Testsuite bzw. jedem Testfall getestet werden.

Erstellen Sie eine Datei, die die Testsuite wie test_suite.js "hostet", und schreiben Sie Folgendes in sie

describe("Inner Suite 1", function(){

    before(function(){

        // 在測試套件執(zhí)行之前執(zhí)行某些操作
        // 無論是否有失敗的用例

    });

    after(function(){

        // 測試套件執(zhí)行完成后執(zhí)行某些操作
        // 無論是否有失敗的用例

    });

    beforeEach(function(){

        // 在測試用例執(zhí)行之前執(zhí)行某些操作
        // 無論是否有失敗的用例

    });

    afterEach(function(){

        // 測試用例執(zhí)行完成后執(zhí)行某些操作
        // 無論是否有失敗的用例

    });

    it("Test-1", function(){

        // 測試代碼
        // 斷言

    });

    it("Test-2", function(){

        // 測試代碼
        // 斷言

    });

    it("Test-3", function(){

        // 測試代碼
        // 斷言

    });

});
Mokka -Testsuite und Testf?lle ausführen

Mokka unterstützt drei Testausführungsmethoden: die gesamte Testsuite -Datei, die im "Grep" -Modus gefilterte Tests und die Testsuche (rekursive Option) im Verzeichnisbaum Grep Filtering

Führen Sie die gesamte Testsuite -Datei aus:

mocha /path/to/test_suite.js
Führen Sie eine bestimmte Suite oder einen bestimmten Test aus einer bestimmten Testsuite -Datei aus.

Wenn ein Kit ausgew?hlt ist, werden alle Unterkits und/oder Tests durchgeführt.

mocha -g “Test-2” /path/to/test_suite.js
Führen Sie eine bestimmte Suite- oder Testdatei aus, indem Sie rekursiv im Verzeichnisbaum suchen.

mocha --recursive -g “Test-2” /directory/
CLI -Optionen für Erweiterungen:

mocha --help
Synchronisation des asynchronen Testcodes

verwalten

Wenn Sie asynchrone Funktionen mit Mokka verwenden und nicht richtig behandelt werden, haben Sie m?glicherweise Probleme mit der Bew?ltigung von Problemen. Wenn Sie in Ihren Testf?llen (z. B. HTTP -Anforderungen, Dateien, Selen usw.) asynchronen Code verwenden m?chten, befolgen Sie die folgenden Richtlinien, um unerwartete Ergebnisse zu überwinden:

  1. Function Function

In der Testfunktion (IT) müssen Sie die Fertigfunktion in die Rückrufkette übergeben - dies stellt sicher, dass sie nach Ihrem letzten Schritt ausgeführt wird.

Das folgende Beispiel unterstreicht die Fertigfunktion. In diesem Fall tritt am Ende der Testfunktion eine Zeitüberschreitung von drei Sekunden auf.

<code>npm install -g mocha</code>
  1. kehren Sie zu Versprechen
  2. zurück

Rückgabeversprechen ist eine andere M?glichkeit, um sicherzustellen, dass Mokka bei Verwendung einer asynchronen Funktion alle Codezeilen ausgeführt hat (in diesem Fall ist die Funktion "Fertig" nicht erforderlich.)

<code>npm install --save chai</code>
  1. JavaScript Selenium 3 Integration mit Mochajs

Einführung in Selen

Selenium ist eine Bibliothek, die Webbrowser steuert und das Benutzerverhalten simuliert. Insbesondere bietet Selenium den Benutzern eine spezifische API der Sprachbibliothek mit dem Namen "Binding". "Bindung" fungiert als Client, um Anforderungen an Zwischenkomponenten auszuführen, und fungiert als Server, um den Browser letztendlich zu steuern.

Selenium -API oder Bindung existiert jetzt in allen popul?ren Entwicklungssprachen. Alle Sprachimplementierungen stimmen nun zu, die Konsistenz in den Konventionen der API -Funktion zu erhalten.

Die Zwischenkomponenten k?nnen der tats?chliche Webdriver sein, Selenium-Standalone-Server, der lokal in jedem Selenium-Paket zu finden ist, sowie die nativen Browser-Kontrolltreiber des Verk?ufers-wie der Geckodriver von Mozilla, Chroms Chromedriver usw. usw. Darüber hinaus kommuniziert Selenium WebDriver mit Browser -Treibern über "JSONWIRED Protocol" und wird zum W3C -Webstandard.

selenium installation

Wir werden schnell etwas über die Implementierung von Selen und NodeJS erfahren, bevor wir uns mit der Integration von Selen und Mochajs befassen.

Um die Selenium -API von JavaScript (oder Selenium JavaScript) zu verwenden, sollten wir das entsprechende Modul installieren:

describe("Inner Suite 1", function(){

    before(function(){

        // 在測試套件執(zhí)行之前執(zhí)行某些操作
        // 無論是否有失敗的用例

    });

    after(function(){

        // 測試套件執(zhí)行完成后執(zhí)行某些操作
        // 無論是否有失敗的用例

    });

    beforeEach(function(){

        // 在測試用例執(zhí)行之前執(zhí)行某些操作
        // 無論是否有失敗的用例

    });

    afterEach(function(){

        // 測試用例執(zhí)行完成后執(zhí)行某些操作
        // 無論是否有失敗的用例

    });

    it("Test-1", function(){

        // 測試代碼
        // 斷言

    });

    it("Test-2", function(){

        // 測試代碼
        // 斷言

    });

    it("Test-3", function(){

        // 測試代碼
        // 斷言

    });

});

Zu diesem Zeitpunkt sollte klar sein, dass JavaScript Selenium WebDriver auch als WebdriverJS bezeichnet werden kann (wenn auch nicht in NPM). WebDriveJS unterscheidet sich von anderen Bibliotheken/Modulen (wie Webdriverio, Prospractor usw.). Selenium-Webriver ist die offizielle Open-Source-Basis-JavaScript-Selenium-Bibliothek, w?hrend andere Bibliotheken Wrapper-Bibliotheken/Frameworks sind, die auf der WebdriverJS-API basieren und behaupten, die Verfügbarkeit und Wartung zu verbessern.

Im NodeJS -Code werden Module auf folgende Weise verwendet:

mocha /path/to/test_suite.js

Webdriver Construct

Um Selen verwenden zu k?nnen, sollten wir das entsprechende "Webdriver" -Objekt erstellen, das dann unseren Browser steuert. Im Folgenden k?nnen wir sehen, wie wir das "Builder" -Muster verwenden, um Webdriver -Objekte zu erstellen, indem wir mehrere Funktionen verknüpfen.

Builder mit Optionen

mocha -g “Test-2” /path/to/test_suite.js

Im obigen Code haben wir ein Webdriver -Objekt erfolgreich erstellt, das Konfigurationen mehrerer Browser aggregiert (beachten Sie die "Optionen" -Methode), obwohl die Forbrowser () -Methode explizit Firefox festlegt.

Der Benutzer kann die Variable der selenium_browser -Umgebung zur Laufzeit festlegen, um den gewünschten Browser festzulegen. Es wird alle von Forbrowser festgelegten Optionen überschreiben, da wir mehrere Browserfunktionen über Set -Optionen festgelegt haben.

Browsereigenschaften k?nnen je nach getestetem Browser mehrere Informationsarten enthalten. In den Eigenschaften von Mozilla k?nnen wir beispielsweise die erforderliche "Profil" -Konfiguration wie folgt einstellen:

<code>npm install -g mocha</code>

Dann k?nnen wir im Builder -Snippet oben hinzufügen:

<code>npm install --save chai</code>

Builder mit Funktionen

Die Dokumentation von Selenium WebDriver JavaScript API beschreibt verschiedene M?glichkeiten, einen Webdriver zu erstellen. Ein weiterer m?glicher Ansatz besteht darin, alle erforderlichen Treiberkonfigurationen auf Funktionen festzulegen:

describe("Inner Suite 1", function(){

    before(function(){

        // 在測試套件執(zhí)行之前執(zhí)行某些操作
        // 無論是否有失敗的用例

    });

    after(function(){

        // 測試套件執(zhí)行完成后執(zhí)行某些操作
        // 無論是否有失敗的用例

    });

    beforeEach(function(){

        // 在測試用例執(zhí)行之前執(zhí)行某些操作
        // 無論是否有失敗的用例

    });

    afterEach(function(){

        // 測試用例執(zhí)行完成后執(zhí)行某些操作
        // 無論是否有失敗的用例

    });

    it("Test-1", function(){

        // 測試代碼
        // 斷言

    });

    it("Test-2", function(){

        // 測試代碼
        // 斷言

    });

    it("Test-3", function(){

        // 測試代碼
        // 斷言

    });

});

Beachten Sie, dass die Konfiguration überschrieben wird (z. B. Proxy -Konfiguration), wenn Setoptionen nach dem Kapital festgelegt werden.

Selenium Webdriver Control Flow und Promise Management

selenium webdriver verh?lt sich ?hnlich, weil JavaScript und NodeJs auf dem asynchronen Prinzip basieren. Um Callback -Pyramiden zu vermeiden und die Testingenieure zu testen, die die Skripterfahrung sowie die Lesbarkeit von Code und die Wartbarkeit verbessern, enth?lt das Selenium WebDriver -Objekt einen Versprechen -Manager mit "ControlFlow". "ControlFlow" ist eine Klasse, die für die Ausführung der asynchronen Webdriver -Befehlsausführung verantwortlich ist.

In der Tat wird jeder Befehl im Treiberobjekt ausgeführt und gibt ein Versprechen zurück. Wenn Sie den analysierten Value -Wert nicht verarbeiten müssen, müssen Sie den n?chsten Befehl in "Dann" nicht nisten, wie unten gezeigt:

mocha /path/to/test_suite.js

Tipps für JavaScript -Tests Selenium Webdriver und Mokka

  1. Treiber ist ein Webdriver -Objekt, kein Versprechensobjekt
  2. driver.gettitle () oder driver.get (URL) oder ein anderer Selenium -Befehl gibt ein Versprechensobjekt zurück!

Dies bedeutet, dass wir Folgendes tun k?nnen:

mocha -g “Test-2” /path/to/test_suite.js
  1. Da der Treiber selbst asynchron ist, funktionieren die folgenden Operationen nicht:
mocha --recursive -g “Test-2” /directory/

Hinweis: Der Titel ist ein Versprechensobjekt, nicht der tats?chliche analysierte Wert.

mochajs selenium webdriver

im Allgemeinen kann Selenium Webdriver in Mochajs integriert werden, da es für ein normales NodeJS -Skript verwendet wird. Da Mokka jedoch nicht wei?, wann die asynchrone Funktion vor dem Aufrufen von Date () oder einem Versprechen ausgeführt wird, müssen wir sie sehr sorgf?ltig bew?ltigen.

Versprechenbasierte

Der Befehl selenium wird automatisch registriert, um sicherzustellen, dass der Befehl webdriver in der richtigen Reihenfolge ausgeführt wird und ein Versprechen zurückgeben sollte.

Der folgende Code zeigt den (vor, vor, nach der Nachreich) oder den Testfall -K?rper -Haken.

mocha --help

Das Folgende wird durchgeführt:

  1. Laden der Browser -Seite von "my_service"
  2. Suchen Sie das Textfeld mit ID "Benutzername"
  3. Ausfüllen von Textfeldern mit ID "Benutzername" mit "my_username"
  4. Suchen Sie den Seitentitel und überprüfen Sie, ob er gleich "my_title"
  5. ist
  6. Webdriver Exit und das Browserfenster schlie?en. Der Browser -Prozess endet.

Selenium Webdriver Support für Mochajs

Um JavaScript -Tests mit Selenium WebDriver und Mokka auf einfache Weise durchzuführen, f?rdert Webdriver die Verwendung von Mochajs, indem Mochajs -Testfunktionen (vor, vor, vor, IT usw.) mit Testobjekten eingewickelt werden. Dies schafft einen Umfang, der das Bewusstsein für die Verwendung von Webdriver sch?rft. Daher besteht keine Notwendigkeit, ein Versprechen zurückzugeben.

Erstens sollte das entsprechende Modul geladen werden:

<code>npm install -g mocha</code>

Alle Mokka -Funktionen beginnen mit "Test"

<code>npm install --save chai</code>
und so weiter. Dann wird der obige Code vollst?ndig umgeschrieben wie:

describe("Inner Suite 1", function(){

    before(function(){

        // 在測試套件執(zhí)行之前執(zhí)行某些操作
        // 無論是否有失敗的用例

    });

    after(function(){

        // 測試套件執(zhí)行完成后執(zhí)行某些操作
        // 無論是否有失敗的用例

    });

    beforeEach(function(){

        // 在測試用例執(zhí)行之前執(zhí)行某些操作
        // 無論是否有失敗的用例

    });

    afterEach(function(){

        // 測試用例執(zhí)行完成后執(zhí)行某些操作
        // 無論是否有失敗的用例

    });

    it("Test-1", function(){

        // 測試代碼
        // 斷言

    });

    it("Test-2", function(){

        // 測試代碼
        // 斷言

    });

    it("Test-3", function(){

        // 測試代碼
        // 斷言

    });

});

Schlussfolgerung

In diesem Tutorial haben wir die M?glichkeit, JavaScript -Tests mit Selenium WebDriver und Mochajs zu erleben. Wir sollten uns daran erinnern, dass es aufgrund der asynchronen Natur von Nodejs, Mochajs und Selenium Webdriver im Vergleich zu anderen Programmiersprachenbindungen erhebliche Unterschiede gibt.

Solange wir das Versprechen in jeder Funktion, die das Versprechen erstellt (benutzerdefinierte Testbibliotheksfunktionen oder Mochajs -Hooks/Testf?lle), weiterhin zurückgeben, führt Mokka sie in der richtigen Reihenfolge aus.

Andere Frameworks wie Webdriverio, Prospractor und CodesptJs bieten Wrapper -L?sungen, mit denen einige Konfigurationen für Benutzer ausgeblendet werden und eine verbesserte Versprechungsverarbeitung für ein besseres Skripterlebnis bieten k?nnen. Viele Testautomatisierungsexperten k?nnen dies m?glicherweise nützlich empfanden.

FAQs (FAQs) zum Testen von JavaScript mit Selenium Webdriver und Mokka

Wie richte ich Selenium Webdriver für JavaScript -Tests ein?

Selenium WebDriver für JavaScript -Tests einrichten. Enth?lt mehrere Schritte. Zuerst müssen Sie Node.js und NPM (Node Package Manager) in Ihrem System installieren. Nach Abschluss der Installation k?nnen Sie NPM verwenden, um Selenium WebDriver zu installieren, indem Sie den Befehl npm installieren selenium-webdriver ausführen. Sie müssen auch einen Browser -Treiber wie Chromedriver für Google Chrome installieren, der durch Ausführen von NPM -Installation von Chromedriver erfolgen kann. Sobald diese Installationen abgeschlossen sind, k?nnen Sie mit Selenium WebDriver Testskripte in JavaScript in JavaScript schreiben.

Was ist Mocha und warum verwenden Sie es mit Selenium Webdriver?

Mocha ist ein beliebtes JavaScript -Test -Framework, das eine einfache und flexible M?glichkeit bietet, Testf?lle zu schreiben und zu organisieren. Es wird h?ufig mit Selenium Webdriver verwendet, da es Funktionen wie asynchrone Tests bietet, die für den Umgang verz?gerter Vorg?nge wie Netzwerkanforderungen und Browseroperationen von entscheidender Bedeutung sind. Mokka bietet auch kurze und klare Syntax, um Ihre Testf?lle zu erleichtern, um zu schreiben und zu verstehen.

Wie schreibe ich grundlegende Testf?lle mit Selenium WebDriver und Mokka?

Grundlegende Testf?lle mit Selenium WebDriver und Mokka umfassen das Erstellen einer neuen JavaScript -Datei und das Schreiben von Testf?llen in Mokka und es blockieren. In diesem Block k?nnen Sie die API von Selenium WebDriver verwenden, um mit dem Browser zu interagieren, z. Hier ist ein grundlegendes Beispiel:

<code>npm install -g mocha</code>

Wie kann ich in meinen Testf?llen mit asynchronen Operationen umgehen?

Sie k?nnen JavaScripts Async/Aused Syntax verwenden, um asynchronen Operationen in Testf?llen zu verarbeiten. Auf diese Weise k?nnen Sie synchrones asynchrone Code schreiben, was das Lesen und Verst?ndnis erleichtert. Im Zusammenhang mit Selenium Webdriver sind Vorg?nge wie das Navigieren zu einer Webseite, die Interaktion mit Elementen und die Wartebedingungen asynchron und k?nnen mit Async/Wartedieren verarbeitet werden.

Wie führe ich meine Testf?lle mit Mokka aus?

Um Testf?lle mit Mokka auszuführen, k?nnen Sie den Befehl mocha verwenden, gefolgt vom Pfad zur Testdatei. Wenn Ihre Testdatei beispielsweise test.js hei?t, k?nnen Sie sie mit dem Befehl Mokka test.js ausführen. Mokka findet und führt automatisch alle Testf?lle in dieser Datei aus und führt sie aus.

Wie kann ich in meinem Testfall Behauptungen verwenden?

Behauptungen in Testf?llen k?nnen verwendet werden, um zu überprüfen, ob bestimmte Bedingungen erfüllt sind. Sie m?chten beispielsweise behaupten, dass der Titel der Webseite nach der Durchführung einer Suche auf Ihre Erwartungen entspricht. Behauptungen k?nnen mit dem integrierten Assert-Modul von JavaScript oder Drittanbietern wie Chai geschrieben werden.

Wie kann ich in meinen Testf?llen Fehler umgehen?

Die JavaScript -Try/Catch -Syntax kann verwendet werden, um Fehler in Testf?llen zu verarbeiten. Auf diese Weise k?nnen Sie alle Fehler erfassen, die w?hrend der Ausführung von Testfall auftreten und sie angemessen behandeln, beispielsweise durch Protokollierung von Fehlern und Fehlschl?gen des Testfalls.

Wie kann man mit Elementen auf einer Webseite interagieren?

Sie k?nnen die API von Selenium WebDriver verwenden, um mit Elementen auf einer Webseite zu interagieren. Dies beinhaltet das Klicken auf ein Element, das Eingeben im Eingangsfeld und das Lesen von Elementeigenschaften. Diese Vorg?nge werden mit der Methode für die Findelement -Methode von Triver durchgeführt, die ein Webelement -Objekt zurückgibt, mit dem Sie interagieren k?nnen.

Wie kann man in meinem Testfall auf die Bedingungen warten?

Sie k?nnen in meinem Testfall mit dem Treiber von Selenium WebDriver auf die Bedingungen warten. Diese Methode nimmt eine bedingte und optionale Zeitüberschreitung an und wartet, bis der Zustand erfüllt ist oder das Timeout erreicht ist. Sie k?nnen das bis zum Erstellen einer Bedingung mit dem Modul verwenden, z.

Wie führe ich meine Testf?lle in verschiedenen Browsern aus?

Sie k?nnen Testf?lle in verschiedenen Browsern ausführen, indem Sie den Browser beim Erstellen einer Webdriver -Instanz angeben. Beispielsweise k?nnen Sie Testf?lle in Firefox mit New Builder (). Forbrowser ('Firefox') ausführen oder sie mit New Builder (). Forbrowser ('Chrome') in Chrome ausführen. Sie müssen den entsprechenden Browser -Treiber installieren, damit es funktioniert.

Das obige ist der detaillierte Inhalt vonSo testen Sie Ihr JavaScript mit Selenium WebDriver und Mokka. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erkl?rung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

PHP-Tutorial
1488
72
Wie stelle ich eine HTTP -Anforderung in node.js? Wie stelle ich eine HTTP -Anforderung in node.js? Jul 13, 2025 am 02:18 AM

Es gibt drei g?ngige M?glichkeiten, HTTP-Anforderungen in Node.js zu initiieren: Verwenden Sie integrierte Module, Axios und Knotenfetch. 1. Verwenden Sie das integrierte HTTP/HTTPS-Modul ohne Abh?ngigkeiten, das für grundlegende Szenarien geeignet ist, jedoch eine manuelle Verarbeitung von Datengen?hten und Fehlerüberwachung erfordert, z. 2.Axios ist eine auf Versprechen basierende Bibliothek von Drittanbietern. Es verfügt über eine kurze Syntax und leistungsstarke Funktionen, unterstützt Async/Auseait, automatische JSON -Konvertierung, Interceptor usw. Es wird empfohlen, asynchrone Anforderungsvorg?nge zu vereinfachen. 3.Node-Fetch bietet einen Stil ?hnlich dem Browser-Abruf, basierend auf Versprechen und einfacher Syntax

JavaScript -Datentypen: Primitive VS -Referenz JavaScript -Datentypen: Primitive VS -Referenz Jul 13, 2025 am 02:43 AM

JavaScript -Datentypen sind in primitive Typen und Referenztypen unterteilt. Zu den primitiven Typen geh?ren String, Anzahl, Boolesche, Null, undefiniertes und Symbol. Die Werte sind unver?nderlich und Kopien werden bei der Zuweisung von Werten kopiert, sodass sie sich nicht gegenseitig beeinflussen. Referenztypen wie Objekte, Arrays und Funktionen speichern Speicheradressen, und Variablen, die auf dasselbe Objekt zeigen, wirkt sich gegenseitig aus. Typeof und Instanz k?nnen verwendet werden, um die Typen zu bestimmen, aber auf die historischen Probleme der TypeOfnull zu achten. Das Verst?ndnis dieser beiden Arten von Unterschieden kann dazu beitragen, einen stabileren und zuverl?ssigeren Code zu schreiben.

React vs Angular vs Vue: Welches JS -Framework ist am besten? React vs Angular vs Vue: Welches JS -Framework ist am besten? Jul 05, 2025 am 02:24 AM

Welches JavaScript -Framework ist die beste Wahl? Die Antwort besteht darin, die am besten geeigneten nach Ihren Bedürfnissen zu w?hlen. 1.React ist flexibel und kostenlos und für mittlere und gro?e Projekte geeignet, für die hohe Anpassungs- und Teamarchitekturf?higkeiten erforderlich sind. 2. Angular bietet vollst?ndige L?sungen, die für Anwendungen auf Unternehmensebene und langfristige Wartung geeignet sind. 3.. Vue ist einfach zu bedienen, geeignet für kleine und mittlere Projekte oder schnelle Entwicklung. Unabh?ngig davon, ob es einen technologischen Stack, die Teamgr??e, der Projektlebenszyklus gibt und ob SSR erforderlich ist, sind auch wichtige Faktoren für die Auswahl eines Rahmens. Kurz gesagt, es gibt keinen absolut besten Rahmen, die beste Wahl ist die, die Ihren Bedürfnissen entspricht.

JavaScript Time Object, jemand erstellt eine EACTEXE, schnellere Website auf Google Chrome usw. JavaScript Time Object, jemand erstellt eine EACTEXE, schnellere Website auf Google Chrome usw. Jul 08, 2025 pm 02:27 PM

Hallo, JavaScript -Entwickler! Willkommen in den JavaScript -Nachrichten dieser Woche! Diese Woche konzentrieren wir uns auf: Oracas Markenstreit mit Deno, neue JavaScript -Zeitobjekte werden von Browsern, Google Chrome -Updates und einigen leistungsstarken Entwickler -Tools unterstützt. Fangen wir an! Der Markenstreit von Oracle mit dem Versuch von Deno Oracle, ein "JavaScript" -Marke zu registrieren, hat Kontroversen verursacht. Ryan Dahl, der Sch?pfer von Node.js und Deno, hat eine Petition zur Absage der Marke eingereicht, und er glaubt, dass JavaScript ein offener Standard ist und nicht von Oracle verwendet werden sollte

Was ist die Cache -API und wie wird sie bei Dienstangestellten verwendet? Was ist die Cache -API und wie wird sie bei Dienstangestellten verwendet? Jul 08, 2025 am 02:43 AM

Cacheapi ist ein Tool, das der Browser zur Cache -Netzwerkanfragen bereitstellt, das h?ufig in Verbindung mit dem Servicearbeiter verwendet wird, um die Leistung der Website und die Offline -Erfahrung zu verbessern. 1. Es erm?glicht Entwicklern, Ressourcen wie Skripte, Stilbl?tter, Bilder usw. Zu speichern; 2. Es kann die Cache -Antworten entsprechend den Anfragen übereinstimmen. 3. Es unterstützt das L?schen bestimmter Caches oder das L?schen des gesamten Cache. 4.. Es kann Cache -Priorit?ts- oder Netzwerkpriorit?tsstrategien durch Servicearbeiter implementieren, die sich auf Fetch -Ereignisse anh?ren. 5. Es wird h?ufig für die Offline -Unterstützung verwendet, die wiederholte Zugriffsgeschwindigkeit, die Vorspannungs -Schlüsselressourcen und den Inhalt des Hintergrundaktualisierungss beschleunigen. 6. Wenn Sie es verwenden, müssen Sie auf die Cache -Versionskontrolle, Speicherbeschr?nkungen und den Unterschied zum HTTP -Caching -Mechanismus achten.

Handlingversprechen: Verkettung, Fehlerbehandlung und Versprechenkombinatoren in JavaScript Handlingversprechen: Verkettung, Fehlerbehandlung und Versprechenkombinatoren in JavaScript Jul 08, 2025 am 02:40 AM

Versprechen ist der Kernmechanismus für den Umgang mit asynchronen Operationen in JavaScript. Das Verst?ndnis von Kettenanrufen, Fehlerbehebung und Kombination ist der Schlüssel zum Beherrschen ihrer Anwendungen. 1. Der Kettenaufruf gibt ein neues Versprechen durch .then () zurück, um asynchrone Prozessverkampferung zu realisieren. Jeder. Dann () erh?lt das vorherige Ergebnis und kann einen Wert oder ein Versprechen zurückgeben; 2. Die Fehlerbehandlung sollte .Catch () verwenden, um Ausnahmen zu fangen, um stille Ausf?lle zu vermeiden, und den Standardwert im Fang zurückgeben, um den Prozess fortzusetzen. 3. Combinatoren wie Promise.All () (erfolgreich erfolgreich erfolgreich nach allen Erfolg), Versprechen.Race () (Die erste Fertigstellung wird zurückgegeben) und Versprechen.Allsettled () (Warten auf alle Fertigstellungen)

Nutzung von Array.Prototyp -Methoden zur Datenmanipulation in JavaScript Nutzung von Array.Prototyp -Methoden zur Datenmanipulation in JavaScript Jul 06, 2025 am 02:36 AM

JavaScript-Array-integrierte Methoden wie .Map (), .filter () und .Reduce () k?nnen die Datenverarbeitung vereinfachen. 1) .Map () wird verwendet, um Elemente eins in eins um Neuarrays zu konvertieren; 2) .Filter () wird verwendet, um Elemente durch Bedingung zu filtern; 3) .Reduce () wird verwendet, um Daten als einzelner Wert zu aggregieren; Missbrauch sollte bei der Verwendung vermieden werden, was zu Nebenwirkungen oder Leistungsproblemen führt.

JS Roundup: Ein tiefes Eintauchen in die JavaScript -Ereignisschleife JS Roundup: Ein tiefes Eintauchen in die JavaScript -Ereignisschleife Jul 08, 2025 am 02:24 AM

Die Ereignisschleife von JavaScript verwaltet asynchrone Vorg?nge, indem sie Call -Stapel, Webapis und Task -Warteschlangen koordinieren. 1. Der Anrufstack führt synchronen Code aus, und wenn er auf asynchrone Aufgaben begegnet, wird er zur Verarbeitung an Webapi übergeben. 2. Nachdem das Webapi die Aufgabe im Hintergrund abgeschlossen hat, wird der Rückruf in die entsprechende Warteschlange (Makroaufgabe oder Micro -Aufgabe) eingebaut. 3. Die Ereignisschleife prüft, ob der Anrufstapel leer ist. Wenn es leer ist, wird der Rückruf aus der Warteschlange herausgenommen und zur Ausführung in den Anrufstapel geschoben. V. 5. Das Verst?ndnis der Ereignisschleife hilft zu vermeiden, den Haupt -Thread zu blockieren und die Codeausführungsreihenfolge zu optimieren.

See all articles