Robotframework-Zoomba ist eine Sammlung von Bibliotheken, die mit Roboter-Framework GUI-, REST-API- und SOAP-API-Automatisierung umfassen. Diese Bibliotheken sind Erweiterungen vorhandener Bibliotheken Seleniumlibrary, Anfragen und SUDSLIBRARY.
Zoomba fügt eine erhebliche Menge an Datenvalidierungsunterstützung für REST- und SOAP -API hinzu und erweitert die Funktionalität für die typische Web -GUI -Automatisierung.
Als Team, das mit dem Robot -Framework mit dem Weg der Automatisierung beginnt, stellten wir fest, dass einige Zeit damit verbracht wurden, unsere Bibliotheken und Robotframework -Zoomba zu verbessern, um diesen Prozess für neue Projekte zu erleichtern.
Weitere Informationen zur Funktionalität finden Sie in der Schlüsselwortdokumentation für die API-, SOAP- oder GUI -Bibliothek.
Beispieltests finden Sie im Probenverzeichnis.
Wenn Sie mit Webseiten unterschiedlicher Ladezeiten arbeiten, führen Sie wahrscheinlich viele Anrufe wie SO aus:
Wait Until Page Contains Element locator
Click Element locator
Zur Benutzerfreundlichkeit haben wir viele davon in einfache Schlüsselwörter mit einem Zeilen kombiniert:
Wait For And Click Element locator
Wait For And Click Text text
Wait For And Select From List list_locator target_locator
Ein weiteres Schlüsselwort, das besonders nützlich ist, ist, wenn Sie darauf warten, dass JavaScript auf einer Seite abgeschlossen ist, bevor Sie fortfahren:
Wait For And Click Element locator that leads to a new page with javascript
Wait Until Javascript Is Complete
Wait For And Click Element locator
Diese Bibliothek wickelt die Anforderungsbibliothek, sodass wir eine Reihe von Schlüsselwörtern erstellt haben, damit Benutzer Anforderungen in einem einzigen Schlüsselwort erstellen können:
Call Get Request ${ headers_dictionary } endpoint query_string
Call Post Request ${ headers_dictionary } endpoint query_string ${ data_payload }
Nachdem wir Ihre Daten erhalten haben, haben wir es unglaublich einfach gemacht, sie zu validieren. Validate Antwort enthält die erwartete Antwort, die Ihre empfangene Anfrage enthält und sie mit Ihren erwarteten Daten vergleicht. Wenn Fehler festgestellt werden, meldet sich die Zeile nach der Zeile, was sie sind.
Validate Response Contains Expected Response ${ json_actual_response } ${ json_expected_response }
Wenn es nicht übereinstimmende Daten gibt, sieht es so aus:
Key(s) Did Not Match:
------------------
Key: pear
Expected: fish
Actual: bird
------------------
Full List Breakdown:
Expected: [{'apple': 'cat', 'banana': 'dog', 'pear': 'fish'}, {'apple': 'cat', 'banana': 'mice', 'pear': 'bird'}, {'apple': 'dog', 'banana': 'mice', 'pear': 'cat'}]
Actual: [{'apple': 'cat', 'banana': 'dog', 'pear': 'bird'}]
Please see differing value(s)
Wenn Sie einen Schlüssel wie die 'update_date' ignorieren wollten, würden Sie einfach die Variable 'Ignored_keys' auf diese Taste oder eine Liste von Schlüssel einstellen:
Validate Response Contains Expected Response ${ json_actual_response } ${ json_expected_response } ignored_keys=update_date
Validate Response Contains Expected Response ${ json_actual_response } ${ json_expected_response } ignored_keys= ${ list_of_keys }
Die Zoomba -Bibliothek kann einfach mit der Datei setup.py
im Home -Verzeichnis installiert werden. Führen Sie einfach den folgenden Befehl aus, um Zoomba und seine Abhängigkeiten zu installieren:
pip install robotframework - zoomba
Wenn Sie sich entscheiden, das Repo lokal zu ziehen, um Beiträge zu leisten, oder nur mit dem Code herumspielen möchten, können Sie Zoomba installieren, indem Sie Folgendes aus dem Root -Verzeichnis ausführen:
pip install .
oder wenn Sie beabsichtigen, Unit -Tests auszuführen:
pip install .[ testing ]
Um auf die Schlüsselwörter in der Bibliothek zuzugreifen, fügen Sie Ihren Roboterdateieinstellungen einfach Folgendes hinzu (je nachdem, was Sie benötigen):
** * Settings ** *
Library Zoomba . APILibrary
Library Zoomba . GUILibrary
Library Zoomba . SOAPLibrary
Beispieltests finden Sie im Probenverzeichnis.
Das Testverzeichnis kann auch Tests enthalten, sind sich jedoch bewusst, dass diese für Testveröffentlichungen verwendet werden und möglicherweise nicht so einfach zu verwenden ist wie die im Probenverzeichnis.
Um Beiträge zu leisten, lesen Sie bitte die beitragenden Richtlinien.
Sehen Sie sich das Verzeichnis von .githooks an, damit Skripte in der Entwicklung helfen können.
Allgemeine Fragen des Roboter -Frameworks sollten an das Community -Forum gerichtet werden.
Für Fragen und Themen, die für Zoomba spezifisch sind, erstellen Sie hier unter GitHub ein Problem.