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!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 3.85
API-Tests mit Jest & Axios
Swipe um das Menü anzuzeigen
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!