Einrichtung von Selenium Grid

Einrichtung von Selenium Grid in Katalon Studio

Um noch mehr von parallelen Tests zu profitieren, können Sie eine Selenium Grid-Einrichtung für Katalon Studio in Betracht ziehen. Derzeit unterstützt Katalon nur Selenium Grid 3, aber…

Das Ausführen von Selenium 3-Tests auf einem Selenium 4 Grid ist machbar und so konzipiert, dass es abwärtskompatibel ist, um sicherzustellen, dass Tests, die mit der Selenium 3 API geschrieben wurden, auch auf der neueren Selenium Grid-Version ohne sofortige Code-Änderungen ausgeführt werden können. Um jedoch den vollen Nutzen aus den neuen Funktionen und Verbesserungen in Selenium 4 zu ziehen, wird empfohlen, Ihre Tests schließlich auf Selenium 4 zu aktualisieren. So können Sie Ihre Selenium 3-Tests auf einem Selenium 4 Grid ausführen:

Die Einrichtung eines Selenium Grids auf Kubernetes oder AWS Fargate bietet eine skalierbare und flexible Infrastruktur für parallele Tests und ermöglicht es Ihnen, mehrere Selenium-Tests gleichzeitig auf verschiedenen Browsern und Betriebssystemen auszuführen. Diese Einrichtung ist vorteilhaft, um die Ausführung einer großen Testsuite zu beschleunigen und sicherzustellen, dass Ihre Anwendung in verschiedenen Umgebungen korrekt funktioniert. Im Folgenden finden Sie allgemeine Anleitungen zur Einrichtung von Selenium Grid auf Kubernetes und AWS Fargate.

Einrichtung von Selenium Grid auf Kubernetes

Kubernetes, eine Open-Source-Plattform zur Verwaltung von containerisierten Workloads und Diensten, eignet sich gut für den Betrieb von Selenium Grid auf eine skalierbare und widerstandsfähige Weise.

Voraussetzungen

  1. Erstellen Sie ein Selenium Grid Deployment:
  1. Machen Sie den Selenium Hub zugänglich:
  1. Skalieren Sie Selenium-Knoten:
  1. Führen Sie Tests aus:

Einrichtung von Selenium Grid auf AWS Fargate

AWS Fargate ist eine serverlose Compute-Engine für Container, die mit Amazon Elastic Container Service (ECS) zusammenarbeitet und es Ihnen ermöglicht, Container ohne Verwaltung von Servern oder Clustern auszuführen.

Voraussetzungen

  1. Erstellen Sie einen ECS-Cluster:
  1. Definieren Sie Task-Definitionen:
  1. Führen Sie den Selenium Hub und die Knoten als Dienste aus:
  1. Machen Sie den Selenium Hub zugänglich:
  1. Skalieren Sie Selenium-Knoten:
  1. Führen Sie Tests aus:

Allgemeine Tipps

Wenn Sie es lokal ausprobieren möchten, verwenden Sie eine Docker Compose-Datei aus dem Selenium Github, um es zum Laufen zu bringen.

Docker Compose-Datei für Selenium Grid

Erstellen Sie eine docker-compose.yml-Datei in Ihrem Projektverzeichnis und fügen Sie den folgenden Inhalt hinzu:

version: '3'
services:
 selenium-hub:
 image: selenium/hub:4.1.1-20211217
 container_name: selenium-hub
 ports:
 - "4444:4444"

 chrome-node:
 image: selenium/node-chrome:4.1.1-20211217
 container_name: chrome-node
 depends_on:
 - selenium-hub
 environment:
 - SE_EVENT_BUS_HOST=selenium-hub
 - SE_EVENT_BUS_PUBLISH_PORT=4442
 - SE_EVENT_BUS_SUBSCRIBE_PORT=4443
 volumes:
 - /dev/shm:/dev/shm

 firefox-node:
 image: selenium/node-firefox:4.1.1-20211217
 container_name: firefox-node
 depends_on:
 - selenium-hub
 environment:
 - SE_EVENT_BUS_HOST=selenium-hub
 - SE_EVENT_BUS_PUBLISH_PORT=4442
 - SE_EVENT_BUS_SUBSCRIBE_PORT=4443
 volumes:
 - /dev/shm:/dev/shm

Starten Sie Selenium Grid: Navigieren Sie zu dem Verzeichnis, das Ihre docker-compose.yml-Datei enthält. Führen Sie den folgenden Befehl aus, um alle Dienste zu starten:

docker-compose up -d
  1. Zugriff auf die Selenium Grid-Konsole: Sobald die Container laufen, können Sie auf die Selenium Grid-Konsole zugreifen, indem Sie in Ihrem Webbrowser zu http://localhost:4444 navigieren. Hier können Sie den Status Ihres Grids und die verbundenen Knoten sehen.
  2. Ausführen von Tests: Jetzt können Sie Ihre Selenium-Tests gegen das Grid ausführen. Konfigurieren Sie Ihren Test, um den Remote WebDriver zu verwenden, der auf http://localhost:4444/wd/hub zeigt.
  3. Skalieren von Knoten: Wenn Sie mehr Chrome- oder Firefox-Knoten benötigen, können Sie sie mit Docker Compose skalieren. Zum Beispiel, um auf 3 Chrome-Knoten zu skalieren, führen Sie aus:
  1. Stoppen von Selenium Grid: Um die von docker-compose up erstellten Container, Netzwerke und Volumes zu stoppen und zu entfernen, führen Sie aus:
docker-compose down

Anpassung