Zum Hauptinhalt springen

Selenium Grid

Sie können WebdriverIO mit Ihrer bestehenden Selenium Grid-Instanz verwenden. Um Ihre Tests mit Selenium Grid zu verbinden, müssen Sie lediglich die Optionen in Ihren Testrunner-Konfigurationen aktualisieren.

Hier ist ein Codeausschnitt aus einer Beispiel-wdio.conf.ts.

export const config: WebdriverIO.Config = {
// ...
protocol: 'https',
hostname: 'yourseleniumgridhost.yourdomain.com',
port: 443,
path: '/wd/hub',
// ...

}

Sie müssen die entsprechenden Werte für Protokoll, Hostname, Port und Pfad basierend auf Ihrer Selenium Grid-Einrichtung angeben. Wenn Sie Selenium Grid auf demselben Computer wie Ihre Testskripte ausführen, sind hier einige typische Optionen:

export const config: WebdriverIO.Config = {
// ...
protocol: 'http',
hostname: 'localhost',
port: 4444,
path: '/wd/hub',
// ...

}

Basis-Authentifizierung mit geschütztem Selenium Grid

Es wird dringend empfohlen, Ihr Selenium Grid zu sichern. Wenn Sie ein geschütztes Selenium Grid haben, das eine Authentifizierung erfordert, können Sie Authentifizierungs-Header über Optionen übergeben. Weitere Informationen finden Sie im Abschnitt headers in der Dokumentation.

Timeout-Konfigurationen mit dynamischem Selenium Grid

Bei der Verwendung eines dynamischen Selenium Grids, bei dem Browser-Pods bei Bedarf gestartet werden, kann die Sitzungserstellung einen Kaltstart erfahren. In solchen Fällen wird empfohlen, die Timeouts für die Sitzungserstellung zu erhöhen. Der Standardwert in den Optionen beträgt 120 Sekunden, aber Sie können ihn erhöhen, wenn Ihr Grid mehr Zeit benötigt, um eine neue Sitzung zu erstellen.

connectionRetryTimeout: 180000,

Erweiterte Konfigurationen

Für erweiterte Konfigurationen beachten Sie bitte die Testrunner Konfigurationsdatei.

Dateioperationen mit Selenium Grid

Wenn Sie Testfälle mit einem Remote-Selenium-Grid ausführen, läuft der Browser auf einem entfernten Computer, und Sie müssen besondere Vorsicht bei Testfällen walten lassen, die Datei-Uploads und -Downloads beinhalten.

Datei-Downloads

Für Chromium-basierte Browser können Sie die Download file Dokumentation konsultieren. Wenn Ihre Testskripte den Inhalt einer heruntergeladenen Datei lesen müssen, müssen Sie diese vom Remote-Selenium-Node auf den Testrunner-Computer herunterladen. Hier ist ein Beispiel-Codeausschnitt aus der Beispiel-wdio.conf.ts-Konfiguration für den Chrome-Browser:

export const config: WebdriverIO.Config = {
// ...
protocol: 'https',
hostname: 'yourseleniumgridhost.yourdomain.com',
port: 443,
path: '/wd/hub',
// ...
capabilities: [{
browserName: 'chrome',
'se:downloadsEnabled': true
}],
//...
}

Datei-Upload mit Remote-Selenium-Grid

Um eine Datei in eine Web-App im Remote-Browser hochzuladen, müssen Sie zuerst die Datei zum Remote-Grid hochladen. Details finden Sie in der uploadFile Dokumentation.

Andere Datei-/Grid-Operationen

Es gibt noch einige weitere Operationen, die Sie mit Selenium Grid durchführen können. Die Anweisungen für Selenium Standalone sollten auch mit Selenium Grid gut funktionieren. Bitte beachten Sie die Selenium Standalone Dokumentation für verfügbare Optionen.

Offizielle Dokumentation zu Selenium Grid

Weitere Informationen zu Selenium Grid finden Sie in der offiziellen Selenium Grid Dokumentation.

Wenn Sie Selenium Grid in Docker, Docker Compose oder Kubernetes ausführen möchten, beachten Sie bitte das Selenium-Docker GitHub-Repository.

Welcome! How can I help?

WebdriverIO AI Copilot