Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

WebDriver klassische Fehler

Jeder WebDriver klassische Befehl, der gesendet wird, könnte plausibel eine Fehlermeldung erhalten. Ein Fehler wird durch eine HTTP-Antwort mit einem HTTP-Statuscode im Bereich von 4xx oder 5xx dargestellt und eine JSON-Nutzlast, die Details des Fehlers enthält.

Nutzlast

Das Fehlerobjekt ist ein JSON-Objekt, das drei und manchmal vier Felder enthält:

error

Fehlertyp.

message

Menschlich lesbare Beschreibung der Art des Fehlers.

stacktrace

Stacktrace-Bericht der aktiven Stack-Frames zu dem Zeitpunkt, als der Fehler auftrat.

data (optional)

Beliebige und implementierungsdefinierte Daten, die nützlich sein können, um sie dem Benutzer zu präsentieren. Viele Treiber beinhalten den Text des Benutzerhinweises, wenn ein unerwarteter Alarm offen Fehler auftritt.

Beispiel

Zum Beispiel eine GET-Anfrage an /session/1234/url, wobei 1234 eine ungültige Sitzung ist, würde eine Antwort mit dem 404 Not Found Status und folgendem Inhalt zurückgeben:

json
{
  "value": {
    "error": "invalid session id",
    "message": "No active session with ID 1234",
    "stacktrace": ""
  }
}

Es ist optional für den Treiber, Fehler mit zusätzlichen Fehlerdaten zu versehen. Besonders häufig ist dies der Fall, wenn ein Benutzerhinweis, wie window.alert, einen modalen Dialog geöffnet hat, nachdem Sie Ihren vorherigen WebDriver-Befehlsantrag ausgeführt haben.

Da sowohl WebDriver als auch die JavaScript-Ausführung durch einen solchen Dialog unterbrochen werden, sehen wir in der nachfolgenden Antwort einen unerwarteten Alarm offen Fehler:

json
{
  "value": {
    "error": "unexpected alert open",
    "message": "",
    "stacktrace": "",
    "data": {
      "text": "Message from window.alert"
    }
  }
}

In den meisten Clients würde der Fehler durch eine Art von Fehler Typ oder Objektdarstellung dargestellt. In Python wird es als WebDriverException dargestellt, in Node.js als WebDriverError und in Java ebenfalls als WebDriverException.

Tabelle der Fehler

Fehlertyp HTTP-Statuscode Beschreibung
element click intercepted 400 Bad Request Der Element Click Befehl konnte nicht abgeschlossen werden, weil das Element, das die Ereignisse empfängt, das Ziel-Element verdeckt.
element not interactable 400 Bad Request Ein Befehl konnte nicht abgeschlossen werden, weil das Element nicht Zeiger- oder Tastatur-interaktiv ist.
insecure certificate 400 Bad Request Die Navigation führte dazu, dass der Benutzeragent auf eine Zertifikatswarnung stieß, was in der Regel auf ein abgelaufenes oder ungültiges TLS-Zertifikat zurückzuführen ist.
invalid argument 400 Bad Request Die an einen Befehl übergebenen Argumente sind entweder ungültig oder fehlerhaft.
invalid cookie domain 400 Bad Request Es wurde versucht, ein Cookie unter einer anderen Domain als der aktuellen Seite zu setzen.
invalid element state 400 Bad Request Ein Befehl konnte nicht ausgeführt werden, weil das Element in einem ungültigen Zustand ist, z.B. beim Versuch, ein Element zu löschen, das nicht bearbeitbar und zurücksetzbar ist.
invalid selector 400 Bad Request Ein Elementabruf-Befehl lieferte eine unbekannte Selektorstrategie.
invalid session id 404 Not Found Die angegebene Sitzungs-ID wird nicht erkannt, was bedeutet, dass die Sitzung entweder nicht existiert oder nicht aktiv ist. Beachten Sie, dass eine Sitzung, die gelöscht wurde, nicht wiederverwendet werden kann.
JavaScript error 500 Internal Server Error Ein Fehler trat während der Ausführung von JavaScript auf, das vom Benutzer bereitgestellt wurde.
move target out of bounds 500 Internal Server Error Das Ziel für die Mausinteraktion befindet sich nicht im Viewport des Browsers und kann nicht in diesen Viewport gebracht werden.
no such alert 404 Not Found Es wurde versucht, auf einen Benutzerhinweis zuzugreifen, als keiner offen war.
no such cookie 404 Not Found Es wurde kein Cookie mit dem gegebenen Pfadnamen unter den Cookies des aktuellen Dokuments gefunden.
no such element 404 Not Found Ein Element konnte auf der Seite nicht gefunden werden, basierend auf den angegebenen Suchparametern.
no such frame 404 Not Found Ein Befehl, um zu einem Frame zu wechseln, konnte nicht ausgeführt werden, weil der Frame nicht gefunden wurde.
no such window 404 Not Found Ein Befehl, um zu einem Fenster zu wechseln, konnte nicht ausgeführt werden, weil das Fenster nicht gefunden wurde.
script timeout 408 Request Timeout Ein Skript wurde nicht abgeschlossen, bevor dessen Timeout abgelaufen ist.
session not created 500 Internal Server Error Eine neue Sitzung konnte nicht erstellt werden, entweder weil der Browser nicht gestartet werden konnte oder weil die angegebenen Fähigkeiten zur Start der Sitzung nicht übereinstimmten.
stale element reference 404 Not Found Ein Befehl ist fehlgeschlagen, weil das referenzierte Element nicht mehr im DOM verankert ist.
timeout 408 Request Timeout Eine Operation wurde nicht abgeschlossen, bevor dessen Timeout abgelaufen ist.
unable to set cookie 500 Internal Server Error Ein Befehl, um den Wert eines Cookies zu setzen, konnte nicht ausgeführt werden.
unable to capture screen 500 Internal Server Error Es war nicht möglich, einen Screenshot zu erstellen.
unexpected alert open 500 Internal Server Error Ein modales Dialogfenster war geöffnet und blockierte diese Operation.
unknown command 404 Not Found Ein Befehl konnte nicht ausgeführt werden, weil der Treiber ihn nicht kannte.
unknown error 500 Internal Server Error Ein unbekannter Fehler trat im Treiber auf, während der Befehl verarbeitet wurde.
unknown method 405 Method Not Allowed Der angeforderte Befehl stimmte mit einer bekannten URL überein, aber nicht mit einer Methode für diese URL.
unsupported operation 500 Internal Server Error Gibt an, dass ein Befehl, der ordnungsgemäß hätte ausgeführt werden sollen, aus einem bestimmten Grund nicht unterstützt werden kann.

Siehe auch