Heim  >  Artikel  >  Backend-Entwicklung  >  Praktische Zusammenfassung der Verwendung von Python zum schnellen Erstellen automatisierter Schnittstellentestskripte

Praktische Zusammenfassung der Verwendung von Python zum schnellen Erstellen automatisierter Schnittstellentestskripte

王林
王林nach vorne
2023-04-11 22:28:051762Durchsuche

​Einführung in die Testanforderungen

Normalerweise bestehen unsere Schnittstellentestanforderungen in unseren Projekten im Allgemeinen darin, verschiedene Anforderungsdaten zu erstellen, dann die Anforderung an die Schnittstelle zu senden und nach Erhalt der Schnittstellenrückgabe die zurückgegebenen Felder zu extrahieren und zu überprüfen und schließlich Speichern Sie die Ergebnisse in einer Excel-Tabelle, damit Sie sie leichter nachschlagen können. Die Schnittstelle ist im Allgemeinen eine http- oder https-Anfrage, und die gesendete Struktur ist im Allgemeinen ein JSON-Body oder JSON in Kombination mit einigen Dateianhängen. Unsere Testfälle können im Excel- oder Datenbankformat gespeichert werden Die Ergebnisse können in der Datenbank gespeichert werden oder direkt in Excel vorliegen. Im Folgenden werden die Anforderungen gezielt abgebaut und der Implementierungsprozess Schritt für Schritt vorgestellt.

Anpassen des Anfragetextes und Senden der Anfrage

Das Erstellen des jedes Mal gesendeten Anfrageinhalts und das automatische Senden der Anfrage an die Schnittstelle ist der Kern der Erstellung des automatisierten Testskripts. Wir implementieren diesen Schritt hauptsächlich mithilfe der Anfragebibliothek von Python. Lassen Sie uns dies im Folgenden im Detail vorstellen.

1. Senden Sie eine einfache http-Post-Anfrage

Bevor wir die Anfrage senden, müssen wir den Text der Anfrage wie folgt klären:

Praktische Zusammenfassung der Verwendung von Python zum schnellen Erstellen automatisierter Schnittstellentestskripte

Wir können dies als text.json-Datei als Vorlage Als Vorlage kann sie direkt gelesen werden, um die spätere Erstellung des Anforderungstexts vorzubereiten. Mit Hilfe des Yaml-Pakets können wir JSON in ein Wörterbuch konvertieren oder das mit Python gelieferte JSON verwenden, und der Effekt ist derselbe.

Praktische Zusammenfassung der Verwendung von Python zum schnellen Erstellen automatisierter Schnittstellentestskripte

Nachdem wir die Anfragetextvorlage erhalten haben, erhalten wir die Variable request_body, bei der es sich um Daten vom Typ Wörterbuch handelt. Wir können sie parametrisieren, um den von uns benötigten Anfragetext zu erstellen , und Textinhalt dieser Anfrage, Sie können dies tun. Die linke Seite ist das Feld, das geändert werden muss, und die rechte Seite ist die Variable, die wir benötigen.

Praktische Zusammenfassung der Verwendung von Python zum schnellen Erstellen automatisierter Schnittstellentestskripte

Nachdem Sie die zu sendenden Daten erstellt haben, können Sie das Senden der Anfrage vorbereiten. Vor dem Senden der Anfrage müssen wir noch einige Arbeiten erledigen, nämlich einige Parameter der Anfrageschnittstelle festzulegen und einige Anfrageheader anzupassen. Hier geben wir ein einfaches Beispiel wie folgt:

Praktische Zusammenfassung der Verwendung von Python zum schnellen Erstellen automatisierter Schnittstellentestskripte

Wir haben die Anforderungsparameter und Anforderungsheader angepasst und können dann eine Anforderung ähnlich der folgenden URL senden:

Praktische Zusammenfassung der Verwendung von Python zum schnellen Erstellen automatisierter Schnittstellentestskripte

Wir fügen dann den zuvor erstellten Körper hinzu. und verwenden Sie dann die Post-Methode der Anforderungsbibliothek, um die Anforderung zu senden. Der Datenparameter in der Methode wird hier verwendet. Es wird ein JSON empfangen, daher müssen die vorherigen Wörterbuchvariablen vor dem Senden konvertiert werden mit Python wird verwendet und die Dumps-Methode wird verwendet. Konvertieren Sie das Wörterbuch in JSON:

Praktische Zusammenfassung der Verwendung von Python zum schnellen Erstellen automatisierter Schnittstellentestskripte

Zu diesem Zeitpunkt wurde eine einfache HTTP-Post-Anfrage gesendet. Wir haben ein Antwortobjekt mit dem Namen r. Wir können alle gewünschten Informationen von diesem Objekt erhalten.

2. Komplexere Anfragen

Wir haben die einfachste HTTP-Post-Anfrage früher eingeführt. Auf dieser Basis benötigen wir manchmal einige komplexere Anfragen, wie z. B. das Mitbringen einer Datei, eine https-Anfrage usw. Lassen Sie uns kurz erklären, wie die Implementierung erfolgt:

Für Beispielsweise möchten wir eine Audiodatei im Format pcm an die Schnittstelle senden, und die Schnittstelle ist https.

Praktische Zusammenfassung der Verwendung von Python zum schnellen Erstellen automatisierter Schnittstellentestskripte

Beachten Sie, dass für das Senden von https-Anfragen eine SSL-Authentifizierung erforderlich ist. Der Standardwert dieses Parameters ist im Allgemeinen „True“. Beachten Sie außerdem, dass wir eine Zeitüberschreitung festlegen, um zu verhindern, dass der Anforderungsprozess abläuft und das Programm nicht mehr reagiert.

Erfassen Sie Schlüsseldaten aus den Rückgabedaten der Anfrage.

Im Schritt des Sendens der Anfrage haben wir ein Antwortobjekt mit dem Namen r. Wir können alle gewünschten Informationen von diesem Objekt erhalten.

Es gibt verschiedene Methoden zum Abrufen von Inhalten, die wir entsprechend unseren eigenen Anforderungen verwenden können:

Praktische Zusammenfassung der Verwendung von Python zum schnellen Erstellen automatisierter Schnittstellentestskripte

Der erhaltene Text liegt im Allgemeinen im JSON-Format vor:

Praktische Zusammenfassung der Verwendung von Python zum schnellen Erstellen automatisierter Schnittstellentestskripte

Wir können JSON konvertieren und die Methode json.loads verwenden Konvertieren Sie ein JSON-Objekt in ein Python-Wörterbuch, damit wir einige der gewünschten Felder problemlos erhalten können. Dieser Schritt ist sehr einfach und wird nicht im Detail vorgestellt.

So führen Sie einen Fall aus und speichern Testergebnisse

Werfen wir zunächst einen Blick auf unseren Fall. Unser Fall wurde wie folgt mit Excel geschrieben:

Praktische Zusammenfassung der Verwendung von Python zum schnellen Erstellen automatisierter Schnittstellentestskripte

1080×112 39,8 KB

Wie man Excel liest und erhält Was ist mit den Fällen? Wir haben die Pandas-Bibliothek in Python verwendet. Diese Bibliothek ist sehr leistungsstark und verfügt über viele Methoden zum Verarbeiten von Daten. Der spezifische Code lautet wie folgt:

Praktische Zusammenfassung der Verwendung von Python zum schnellen Erstellen automatisierter Schnittstellentestskripte

Auf diese Weise konvertieren wir die Tabellendaten in eine Liste und jede Liste ist ein Wörterbuchformat, das in unserem Fall vorliegt. Das spezifische Format lautet wie folgt:

Praktische Zusammenfassung der Verwendung von Python zum schnellen Erstellen automatisierter Schnittstellentestskripte

Der Zweck besteht darin, dass wir den Tabellenkopf jedem Fall zuordnen können, um ein Wörterbuch zu bilden, sodass wir Fälle flexibler bearbeiten können und Daten vergleichen.

Mit der Fallliste und den vorherigen Schritten zum Senden von Anfragen und Erhalten von Ergebnissen können wir Batch-Schnittstellentests durchführen. Hier können wir eine for-Schleife verwenden, um stapelweise auszuführen:

Praktische Zusammenfassung der Verwendung von Python zum schnellen Erstellen automatisierter Schnittstellentestskripte

Wir geben die Ergebnisse jedes Mal zurück. In ein Wörterbuch gemäß dem Fallformat gespleißt, das unsere Ergebnisdaten sind, um die gesamte Ergebniswörterbuchliste zu erhalten. Zu diesem Zeitpunkt verwenden wir die Pandas-Bibliothek, die dies umwandeln kann Liste in das Datenrahmenformat:

Praktische Zusammenfassung der Verwendung von Python zum schnellen Erstellen automatisierter Schnittstellentestskripte

Dann speichern wir den Datenrahmen als Excel-Datei:

Praktische Zusammenfassung der Verwendung von Python zum schnellen Erstellen automatisierter Schnittstellentestskripte

Zu diesem Zeitpunkt haben wir alles abgeschlossen, von der Fallerstellung über das Senden einer Anfrage zum Erhalt der Ergebnisse bis hin zum Speichern der Ergebnisse. Verfahren.

Identifizieren Sie die Ergebnisdaten

Nach den oben genannten Vorgängen haben wir den Prozess des stapelweisen Sendens von Anfragen und des Erhaltens von Ergebnissen abgeschlossen. Wenn wir die Ergebniszellen bearbeiten müssen, z. B. sie rot und fett markieren usw. Wir können die Testergebnisse erstellen. Die Fehlermeldung ist offensichtlicher. Was soll ich tun? Hier verwenden wir die openpyxl-Bibliothek in Python. Diese Bibliothek kann auch Excel-Tabellen lesen und schreiben und einige Formeln und Stile einfügen. Was wir hier verwenden, ist die Stiloperation. Wir markieren die Ergebnisse entsprechend den Daten in der Zelle:

Praktische Zusammenfassung der Verwendung von Python zum schnellen Erstellen automatisierter Schnittstellentestskripte

Mit openpyxl können wir auch Zeilen an die Ergebnisse anhängen. Fügen Sie einige statistische Informationen zu den Testergebnissen hinzu, z. B. die Anzahl der Fälle, die Anzahl der Fehler, die Fehlerrate und die Genauigkeitsrate usw.

Praktische Zusammenfassung der Verwendung von Python zum schnellen Erstellen automatisierter Schnittstellentestskripte

1080×224 61,6 KB

Das Obige ist ein vollständiges automatisiertes Schnittstellentestskript, um automatische Anforderungen zu erreichen, Ergebnisse zu erhalten und Datenvergleichsanalysen durchzuführen , Ergebnisse nach Excel exportieren und andere Funktionen nutzen, jeder Schritt ist relativ einfach, Sie können schnell ein automatisiertes Testskript erstellen, das Ihren Anforderungen entspricht, und die Serverschnittstelle schnell überprüfen.

Die verwendeten Requests-Bibliotheken und Pandas-Bibliotheken sind häufig verwendete Bibliotheken in Python und sehr leistungsfähig. Für ein detailliertes Verständnis können Sie sich auf deren offizielle Dokumente beziehen.

Das obige ist der detaillierte Inhalt vonPraktische Zusammenfassung der Verwendung von Python zum schnellen Erstellen automatisierter Schnittstellentestskripte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen