Kursinhalt
Einführung in die QA-Automatisierungstests
Einführung in die QA-Automatisierungstests
API-Tests mit Jest & Axios
Im vorherigen Kurs haben wir Postman verwendet, um API-Tests durchzuführen. Dies geschah jedoch aus der Perspektive des manuellen Testens.
Im automatisierten Testen benötigen wir, um API-Tests effektiv durchzuführen, eine Art JavaScript-Methode, die es uns ermöglicht, HTTP-Anfragen durch Code zu stellen.
Axios ist in diesem Szenario eine perfekte Wahl. Es ist eine Node.JS-Bibliothek, die es uns ermöglicht, API-Anfragen programmatisch zu stellen.
Die zwei Methoden, die wir uns ansehen werden, sind:
axios.get(url[, config]);
axios.post(url, data[, config]);
Die Verwendung dieser Methoden wird im folgenden Video demonstriert:
Zum Beispiel können wir eine GET-Anfrage an den api/posts
-Endpunkt mit folgendem Code stellen:
axios.get('http://localhost:3000/api/posts');
Die HTTP-Anfragemethoden geben ein response
-Objekt zurück, das alle Daten der HTTP-Antwort enthält. Wir können den await
-Schlüssel für die Methode verwenden, um dieses Objekt zurückzugeben und in einer Variablen zu speichern:
const response = await axios.get('http://localhost:3000/api/posts');
Da wir await
verwenden, müssen wir den Code in eine async
-Funktion einschließen:
async function exampleFunction() {
const response = await axios.get('http://localhost:3000/api/posts');
}
Aus der Antwort können wir den Statuscode der Antwort mit dem status
-Attribut des Antwortobjekts extrahieren. Die Antwortdaten können aus dem data
-Attribut des Antwortobjekts extrahiert werden.
const res = await axios.get('http://localhost:3000/api/posts');
console.log(res.status); // Status Code
console.log(res.data); // Response Data
Es ist zwingend erforderlich, den Code in einen try-catch-Block einzuschließen, um sicherzustellen, dass das Programm nicht abstürzt, falls die HTTP-Anfrage fehlschlägt - da die get
- und post
-Methoden bei Anforderungsfehlern Ausnahmen auslösen.
Die post
-Methode kann verwendet werden, um eine POST-Anfrage zu stellen. Die Verwendung ist sehr ähnlich wie bei einer GET-Anfrage:
async function exampleFunction() {
try {
const res = await axios.get('http://localhost:3000/api/posts');
console.log(res.status);
console.log(res.data);
} catch(err) {
console.log(err);
}
}
1. Was ist Axios und warum wird es im Automation Testing für API-Tests verwendet?
2. Welche der folgenden Möglichkeiten ist eine korrekte Methode, um eine GET-Anfrage mit Axios zu stellen?
Danke für Ihr Feedback!