Selenium Parallel Execution für Dummies

Dieser Blog wurde zuletzt am 30. August 2020 aktualisiert. Die aktuellste Version finden Sie hier. werden auf dieser Seite erläutert.

Selenium ist ein Open-Source-Testautomatisierungstool, das in letzter Zeit in Testkreisen sehr beliebt geworden ist. Selenium bietet eine Reihe von Tools, mit denen Unternehmen die Testautomatisierung in die integrieren können CI / CD-Pipeline und führen Sie die parallele Selenium-Ausführung auf verschiedenen Geräten und Browsern aus, die auf verschiedenen Plattformen ausgeführt werden.

Wir wissen, dass viele unserer regelmäßigen Leser mit vielen dieser Konzepte vertraut sind. Der Beitrag ist als Einführung für Anfänger und als Auffrischung für alle gedacht, die bereits mit Selenium gearbeitet haben, es aber aus verschiedenen Gründen noch nicht getan haben.

Das Tool erfreut sich größerer Beliebtheit, da es alle wichtigen Programmiersprachen unterstützt, z JavacJavaScriptC#RubyPythonden Perl. So können Sie Code in Ihrer vorhandenen Sprache schreiben und ihn problemlos mit Selenium ausführen. Darüber hinaus unterstützt es alle gängigen Browser wie z ChromeMarktumfeldOperaInternet ExplorerFirefoxund  Safari. Das bedeutet, dass Sie ein einziges Code-Skript verwenden und bequem ausführen können browserübergreifende Tests anstatt für jeden Browser unterschiedliche Skripte zu schreiben.

Selenium ist nicht nur Open Source und frei zugänglich, sondern auch äußerst portabel. Das bedeutet, dass Sie es auf allen gängigen Betriebssystemen ausführen können, z LinuxMACWindowsund  UNIX. Mit Selenium können Sie es in eine Vielzahl von Frameworks integrieren, um den Code wiederzuverwenden oder benutzerdefinierte Berichte zu erstellen. Sie können es integrieren Jenkins CI/CD-Tool oder hinzufügen TestNG um Berichte auszuführen. Selenium ist einfach zu installieren und zu verwenden. Die einfache Benutzeroberfläche ermöglicht Ihnen die einfache Verwaltung von Testumgebungen. Die große und lebendige Community ist immer für Sie da.

Parallele Testausführung mit Selenium

In der Vor-DevOps In der Zeit vor der agilen Ära, in der monolithische Architekturen die Softwareentwicklungsmethoden dominierten, erfüllte sequentielles Testen einen guten Zweck. Allerdings ist das Aufkommen von DevOps und agil Praktiken gebracht kontinuierliche integration und kontinuierliche Tests ins Bild. Heute kontinuierliche Prüfung und Skalierbarkeit sind zentrale Anforderungen und sequenzielles Testen wird diesen sich schnell ändernden Entwicklungsanforderungen nicht gerecht. Die parallele Ausführung von Selenium ermöglicht es Unternehmen, Tests gleichzeitig parallel auszuführen verschiedene Geräte und Browser Prüfzeiten deutlich zu verkürzen.

Paralleles Testen ist eine Testautomatisierungsmethode, bei der Testfälle gleichzeitig auf mehreren Kombinationen aus Browsern, Betriebssystemen und Geräten ausgeführt werden. Virtuelle Geräte werden im Allgemeinen für die parallele Testausführung verwendet, da Sie damit Hunderte von Testumgebungen simulieren können. Sequentielle Tests sind zeitaufwändig. Beim parallelen Testen schreiben Sie jedoch ein Skript und führen es mehrmals aus. Sobald die Testskripte fertig sind, wird die Testaufgabe einfach.

Das Testen auf diese Weise bringt Geschwindigkeit und eine schnellere Markteinführung. Darüber hinaus ist es kostengünstig, da Sie a verwenden können Cloud-Testumgebung und zahlen Sie nach Belieben. Es bietet eine bessere Abdeckung, da Sie es auf verschiedenen Geräten, Browsern und Plattformen ausprobieren können. Die parallele Ausführung von Selenium optimiert auch die CI/CD-Prozesse.

Es ist auch wegen des Wachstums unerlässlich digitale Plattform Segmentierung. Während Desktop-Systeme die Computerwelt dominierten, übernimmt die mobile Plattform schnell die Oberhand. Wenn es um Desktop-Betriebssysteme geht, ist Windows führend, aber im Segment der mobilen Betriebssysteme hat Android die Nase vorn. Bei mehreren Geräten, Betriebssystemplattformen und Browsern stehen Entwickler vor der großen Herausforderung, Bildschirmgrößen, Auflösungen und Bildschirmelemente dynamisch anzupassen. Darüber hinaus verhält sich CSS in jedem Browser anders. Während Responsive Design einige der Entwicklerherausforderungen löst, überträgt es diese Herausforderungen auf das Testsegment. Heutzutage müssen QA-Teams Skripte für alle Umgebungen und Szenarien ausführen. Browserübergreifende Tests ist eine zentrale Voraussetzung. Um Zeit und Aufwand zu sparen, müssen QA-Teams Tests parallel ausführen, und parallele Selenium-Tests sind in dieser Hinsicht eine hervorragende Option.

TestNG ist ein Testautomatisierungs-Framework, mit dem Sie Ihre Tests effizient organisieren und gleichzeitig die Lesbarkeit gewährleisten können. Durch die Unterstützung paralleler Tests erleichtert TestNG die parallele Testausführung. Mithilfe der automatisch definierten XML-Datei können Sie parallele Attribute für Klassen, Tests und Methoden angeben. Mit der Java-Multithread-Funktion können Sie die Anzahl der Threads für parallele Tests definieren.

Hier finden Sie eine Schritt-für-Schritt-Anleitung zum Ausführen paralleler Selenium-Tests.

  1. Java-Installation und Umgebungsvariablen konfigurieren
  2. Selen-Installation
  3. Eclipse-IDE-Installation
  4. TestNG-Installation
  5. Führen Sie Testskripte in Eclipse aus

Schritt 1: Installieren Sie Java

Die Selenium-Software wird als JAR-Datei bereitgestellt. Daher müssen Sie Java installieren, bevor Sie Selenium verwenden können. Besuchen Sie die Oracle-Website, um … Java herunterladen. 

Selen-Parallelausführung – Java

  1. Wählen Sie die richtige Version für Ihr Betriebssystem. Zum Beispiel das Windows x64-Installationsprogramm.
  2. Akzeptieren Sie die Lizenzvereinbarung und laden Sie die Datei herunter.
  3. Nachdem die Datei heruntergeladen wurde, doppelklicken Sie auf die Datei, um den Installationsvorgang zu starten.
  4. Wählen Sie den Zielordner und klicken Sie auf Weiter.
  5. Der Installationsvorgang beginnt.
  6. Klicken Sie nach Abschluss der Installation auf „Fertig stellen“.

Konfigurieren Sie Java-Umgebungsvariablen

So konfigurieren Sie Java-Umgebungsvariablen:

  1. Klicken Sie mit der rechten Maustaste auf die Windows-Startschaltfläche.
  2. Wählen Sie „System“ und gehen Sie zu „Erweiterte Systemeinstellungen“.
  3. Klicken Sie auf die Registerkarte System und dann auf Umgebungsvariablen.
  4. Gehen Sie zur Registerkarte „Systemvariablen“ und legen Sie den Pfad des Java-Ordners fest.
  5. Um zu überprüfen, ob Java korrekt installiert ist, öffnen Sie die Eingabeaufforderung und geben Sie den folgenden Befehl ein.
    • Java-Version

Java-Version Selenium parallele Ausführung

Es wurden die Java-Version und die Build-Details angezeigt. Daher ist Java jetzt auf dem Computer installiert.

Schritt 2: Selenium-Installation

Der nächste Schritt ist das Herunterladen von Selenium. Dazu gehen Sie wie folgt vor: Besuchen Sie hier die Selenium-Website..

Selenium-Webtreiber

Die neueste stabile Version ist 3.141.59. Es kommt als JAR-Datei. Laden Sie die Datei herunter und speichern Sie sie in einem separaten Ordner.

Schritt 3: Eclipse-Installation

Um die Eclipse IDE zu installieren, folgen Sie dem folgenden Link und Laden Sie das Eclipse-Tool herunter.

Selenium Parallel Execution Eclipse

  1. Wählen Sie die Mirror-Site, die näher an Ihrem Standort liegt, und laden Sie die Software herunter. Doppelklicken Sie auf die Datei, um den Installationsvorgang zu starten.
  2. Wenn das Eclipse-Installationsprogramm startet, wählen Sie die Eclipse-IDE für Entwickler aus.
  3. Wählen Sie den Eclipse-Ordner und klicken Sie auf „Installation“.
  4. Wenn die Installation abgeschlossen ist, klicken Sie auf Starten
  5. Wenn Sie das Tool zum ersten Mal starten, werden Sie zur Eingabe des Arbeitsbereichsordners aufgefordert. Der Eclipse-Begrüßungsbildschirm sieht so aus.
  6. Jetzt ist die Eclipse-IDE erfolgreich installiert.

Schritt 4: TestNG-Installation

  1. Um TestNG zu installieren, öffnen Sie die Eclipse-IDE und klicken Sie auf Hilfe
  2. Geben Sie in der Suchleiste von Eclipse Marketplace „testng“ ein und klicken Sie auf „Los“. Es wird das TestNG-Plugin aufgelistet. Klicken Sie auf „Installieren“ und TestNG wird installiert.
  3. Allerdings bietet die neue Version von Eclipse TestNG nicht auf dem Markt an. In einem solchen Fall können Sie es direkt von der Website hier herunterladen: http://dl.bintray.com/testng-team/testng-eclipse-release/
  4. Klicken Sie auf das komprimierte Verzeichnis
  5. Laden Sie die neueste Version von der nächsten Seite herunter.
  6. Öffnen Sie nun Eclipse, klicken Sie auf Hilfe und gehen Sie zu Neue Software installieren.
  7. Klicken Sie auf Hinzufügen.
  8. Gehen Sie im nächsten Bildschirm zu Archiv.
  9. Wählen Sie den komprimierten Ordner aus und klicken Sie auf „Hinzufügen“. Wählen Sie im nächsten Bildschirm TestNG aus und klicken Sie auf Weiter.
  10. Akzeptieren Sie im nächsten Bildschirm die Lizenzvereinbarung und klicken Sie auf „Weiter“.
  11. Klicken Sie nach der Installation auf „Fertig stellen“ und Eclipse wird neu gestartet.

Schritt 5: Parallele Ausführung von Testskripten

Öffnen Sie Eclipse und klicken Sie auf Datei -> Neues Java-Projekt erstellen. Beispiel: ExperitestParallelTesting.

Selenium Parallelausführung

Selen-Parallelausführung

Klicken Sie auf die Registerkarte „Bibliotheken“ und dann auf „Bibliothek hinzufügen“.

Parallele Testausführung

Wählen Sie TestNG, klicken Sie auf „Weiter“ und dann auf „Fertig stellen“.

Parallele Testausführung

TestNG ist jetzt für Selenium-Paralleltests bereit.

Klicken Sie ebenfalls auf „Externe JARs hinzufügen“ und wählen Sie die Selenium Server-JAR-Datei aus. Dadurch wird Selen zu Ihrem Projekt hinzugefügt.

Selenium Parallelausführung

Gehen Sie nun zur Paket-Explorer-Ansicht in Eclipse, klicken Sie mit der rechten Maustaste auf Ihr Projekt, klicken Sie auf src, wählen Sie „Neu“ -> „Paket“ und geben Sie dem Paket einen Namen. Beispiel: ExperitestParallelTesting.

Selenium Parallelausführung

Klicken Sie auf Neu -> Klasse und erstellen Sie eine neue Klasse. Beispiel: Experitestparalleltest.java

Erstellen Sie nun ein einfaches Programm, das einen Browser öffnet, die Google-Website öffnet und nach einem Schlüsselwort sucht. Erstellen Sie einen weiteren Testfall mit demselben Code, aber mit einem anderen Browser.

Hier ist der Code:

[Java] Paket ExperitestParallelTesting; import org.openqa.selenium.*; import org.openqa.selenium.remote.BrowserType; import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; import java.net.MalformedURLException; java.net.URL importieren; public class Experitestparalleltest1 { private static final String ACCESS_KEY = „Geben Sie hier Ihren Zugriffsschlüssel ein.“; private URL-URL; @BeforeTest public void Setup() throws MalformedURLException { url = new URL(“https://cloud.seetest.io/wd/hub”); } @Test public void ExperitestGoogleSearch() { RemoteWebDriver drivers; DesiredCapabilities dc = new DesiredCapabilities(); dc.setCapability(CapabilityType.BROWSER_NAME, BrowserType.FIREFOX); dc.setCapability(CapabilityType.PLATFORM, Platform.ANY); dc.setCapability(“accessKey”, ACCESS_KEY); dc.setCapability(“testName”, „Schnellstart-Demo für den Firefox-Browser“); Treiber = neuer RemoteWebDriver(url, dc); drivers.get(“https://www.google.com”); new WebDriverWait(driver, 10).until(ExpectedConditions.presenceOfElementLocated(By.name(“q”))); WebElement searchBar = drivers.findElement(By.name(“q”)); searchBar.click(); searchBar.sendKeys(“Experitest”); searchBar.sendKeys(Keys.ENTER); System.out.print(“Experitest TestCase läuft im Thread ” + Thread.currentThread().getId()); Driver.quit(); } @Test public void SeeTestGoogleSearch() { RemoteWebDriver drivers1; DesiredCapabilities dc1 = new DesiredCapabilities(); dc1.setCapability(CapabilityType.BROWSER_NAME, BrowserType.CHROME); dc1.setCapability(CapabilityType.PLATFORM, Platform.ANY); dc1.setCapability(“accessKey”, ACCESS_KEY); dc1.setCapability(“testName”, „Schnellstart-Demo für den Chrome-Browser“); Driver1 = neuer RemoteWebDriver(url, dc1); drivers1.get(“https://www.google.com”); new WebDriverWait(driver1, 10).until(ExpectedConditions.presenceOfElementLocated(By.name(“q”))); WebElement searchBar1 = drivers1.findElement(By.name(“q”)); searchBar1.click(); searchBar1.sendKeys(“SeeTest”); searchBar1.sendKeys(Keys.ENTER); System.out.print(“SeeTest TestCase wird im Thread ausgeführt” + Thread.currentThread().getId()); Driver1.quit(); } } [/Java]

Hier haben wir zwei Testmethoden geschrieben. Eine Methode öffnet den Google Chrome-Browser aus der SeeTest Cloud und sucht nach dem Begriff „Experitest“. Die andere Methode öffnet den Firefox-Browser aus der SeeTest Cloud und sucht nach dem Begriff „SeeTest“. Die Ausgabe zeigt, dass diese beiden Tests bestanden wurden.

Selen-Parallelausführung

Allerdings wurden die Tests seriell durchgeführt. TestNG bietet eine einfache Möglichkeit, sie parallel auszuführen. Hier können Sie angeben, wie Sie den Test in einer XML-Datei ausführen möchten. Erstellen Sie dazu eine TestNG-XML-Datei.

Klicken Sie mit der rechten Maustaste auf das Projekt und klicken Sie auf Neu -> Datei.

Selenium Parallele Ausführung

Geben Sie einen Namen mit einer XML-Erweiterung ein.

Selen-Parallelausführung

Alternativ können Sie mit der rechten Maustaste auf das Projekt klicken, auf TestNG klicken und „In TestNG konvertieren“ wählen.

Selen-Parallelausführung

Wählen Sie im nächsten Bildschirm den Namen der XML-Datei, den Suite-Namen usw.

Selen-Parallelausführung

Unter der Option Parallelmodus können Sie Methoden, Klassen, Tests usw. sehen. Sie können festlegen, ob die parallele Ausführung auf Methodenebene, Testebene oder Klassenebene erfolgen soll. Sie können auch die Fadenzahl wählen. Klicken Sie auf Fertig stellen, um die Datei testng.xml zu erstellen.

Führen Sie nun die Datei testng.xml aus.

  Selenium Parallelausführung

Beachten Sie die Startzeit der beiden Testfälle. Beide Tests wurden gleichzeitig gestartet und beide Tests laufen in unterschiedlichen Threads (14 und 15).

Die Thread.CurrentThread().getID() Die Funktion gibt Ihnen die Details des Threads, in dem der Testfall ausgeführt wird. So können Sie eine Selenium-Parallelausführung durchführen.

Zusammenfassung

Da sich die Technologie rasant weiterentwickelt, werden jeden Tag neue Technologien auf den Markt gebracht. Angesichts neuer Gerätemodelle, Browser, Plattformen und sich ändernder Anforderungen an die Webentwicklung stehen Unternehmen vor der großen Herausforderung, vollständige Testsuiten in einer Vielzahl von Umgebungen auszuführen. Selenium-Paralleltests bieten eine kostengünstige und einfache Möglichkeit, Testskripte gleichzeitig auf mehreren Browsern und Geräten auszuführen.

Allerdings bringt die parallele Ausführung von Selenium ihre eigenen Herausforderungen mit sich. Um mobile Tests durchzuführen, müssen Sie diese in Tools wie Appium integrieren. Ebenso benötigen Sie ein Berichts- und Analysetool. Daher ist die Einrichtung der Testautomatisierungsumgebung mit mehreren Tools und Frameworks eine schwierige Aufgabe. Mit zunehmender Anzahl an Knoten verringern sich Geschwindigkeit und Leistung.

SeeTest ist ein hoch skalierbares Testautomatisierungs-Framework Dies ermöglicht es QA-Teams, die parallelen Ausführungsfähigkeiten von Selenium voll auszuschöpfen. Echtzeittests mit Geräten auf der ganzen Welt bieten eine breite Testabdeckung. Darüber hinaus können Sie es über ein zentrales Dashboard überwachen und verwalten und gleichzeitig benutzerdefinierte Berichte erstellen. Mit einem engagierten Support-Team macht SeeTest parallele Tests einfach und effizient.

Das Einrichten Ihrer Umgebung für kontinuierliche Tests und aller zugehörigen Tools erfordert Zeit und Aufwand. Erfahren Sie, wie Sie kontinuierliche Tests in diesem Webinar

Auch interessant