Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
modul:m450:learningunits:lu08:variablenbruno [2025/09/18 09:36] – [Variablen für Pfade] kmaurizi | modul:m450:learningunits:lu08:variablenbruno [2025/09/18 10:54] (aktuell) – [Hinweise & Doku] kmaurizi | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== LU08b - Variablen einsetzen mit Bruno ====== | ||
- | |||
- | <WRAP center round info 60%> | ||
- | Variablen in Bruno erleichtern das Anpassen von Requests an unterschiedliche Bedingungen. | ||
- | </ | ||
- | |||
====== LU08b - Variablen einsetzen mit Bruno ====== | ====== LU08b - Variablen einsetzen mit Bruno ====== | ||
Zeile 29: | Zeile 23: | ||
Siehe [[https:// | Siehe [[https:// | ||
- | ===== Variablen für Daten ===== | + | ===== Environment aktivieren |
- | Mit Variablen | + | Damit die Variablen |
- | ==== Beispiele ==== | + | |
- | === Erstellen und Lesen von Daten === | + | - Oben in der Menüleiste findest du ein Auswahlfeld '' |
- | | + | - Wähle dort das gewünschte Environment |
- | - Ich speichere die Kundennummer | + | |
- | - Ein weiterer Request verwendet diese Variable, um den vorher erstellten Kunden zu lesen. | + | |
- | + | ||
- | === Authentifikation === | + | |
- | Bei vielen APIs brauchen wir ein Token, welches unsere Identität und Berechtigungen enthält. | + | |
- | Dieses Token erhalten wir, indem wir einen Login-Request senden. | + | |
- | + | ||
- | - Ein Request sendet die Login-Daten an die API. Als Antwort erhalte ich ein Authentifizierungstoken. | + | |
- | - Ich speichere das Token in einer Variablen. | + | |
- | - Bei jedem weiteren Request sende ich das gespeicherte Token mit. | + | |
- | + | ||
- | ==== Umsetzung ==== | + | |
- | Ich zeige hier ein Beispiel, wie ich das mit Bruno umsetze. | + | |
- | + | ||
- | === 1. Login student === | + | |
- | Der Request sendet die Login-Daten für einen Studenten. | + | |
- | Die Response ist eine JSON-Struktur, die das Token enthält. | + | |
- | + | ||
- | ** Script im Bereich " | + | |
- | + | ||
- | <code javascript> | + | |
- | test(" | + | |
- | // HTTP-Status prüfen | + | |
- | expect(res.status).to.equal(200); | + | |
- | + | ||
- | // JSON-Daten | + | |
- | const data = res.json(); | + | |
- | + | ||
- | // Token im Environment speichern | + | |
- | | + | |
- | }); | + | |
- | </ | + | |
- | + | ||
- | === 2. Lies alle Anmeldungen zu einem Studenten === | + | |
- | Dieser | + | |
- | Dazu muss das Token aus dem ersten Request mitgesendet werden. | + | |
- | Dieses Token wird im Header des Requests mitgesendet und nicht in der URL. | + | |
- | + | ||
- | ** Token in " | + | |
- | + | ||
- | * Key: '' | + | |
- | * Value: | + | |
- | + | ||
- | ===== Hinweise & Doku ===== | + | |
- | - Tests/ | + | |
- | - JavaScript-API Referenz (z. B. bru.setEnvVar): | + | |
- | ---- | + | So kannst du mit denselben |
- | {{tag> | + | |
- | [[https:// | + | |
- | + | ||
- | ===== Variablen für Daten ===== | + | |
- | Mit Variablen können wir auch Werte aus einer Response speichern und in einem anderen Request wiederverwenden. | + | |
- | + | ||
- | ==== Beispiele ==== | + | |
- | === Erstellen und Lesen von Daten === | + | |
- | - Ein Request speichert einen neuen Kunden. Als Antwort liefert die API die Kundennummer. | + | |
- | - Ich speichere die Kundennummer in einer Variablen. | + | |
- | - Ein weiterer Request verwendet diese Variable, um den vorher erstellten Kunden zu lesen. | + | |
- | + | ||
- | === Authentifikation === | + | |
- | Bei vielen APIs brauchen wir ein Token, welches unsere Identität und Berechtigungen enthält. | + | |
- | Dieses Token erhalten wir, indem wir einen Login-Request senden. | + | |
- | + | ||
- | - Ein Request sendet die Login-Daten an die API. Als Antwort erhalte ich ein Authentifizierungstoken. | + | |
- | - Ich speichere das Token in einer Variablen. | + | |
- | - Bei jedem weiteren Request sende ich das gespeicherte Token mit. | + | |
- | + | ||
- | ====== LU08b - Variablen einsetzen ====== | + | |
- | + | ||
- | <WRAP center round info 60%> | + | |
- | Variablen in Bruno erleichtern das Anpassen von Requests | + | |
- | </ | + | |
- | + | ||
- | ===== Variablen für Pfade ===== | + | |
- | Im Verlauf der Entwicklung wird eine Applikation zunächst in der Entwicklungsumgebung ausgeführt. | + | |
- | Für die Requests in Bruno bedeutet dies in der Regel, dass unsere API unter einem Pfad wie '' | + | |
- | Später werden wir die Applikation auf unser Testsystem deployen. | + | |
- | Der Pfad im Testsystem könnte z.B. '' | + | |
- | + | ||
- | Ich möchte meine API-Tests in beiden Umgebungen nutzen können. Welche Möglichkeiten habe ich? | + | |
- | * Ich passe jedesmal den Pfad in allen Requests an. | + | |
- | * Ich erstelle Kopien aller Requests – einmal mit dem Pfad des Testsystems und einmal mit dem Pfad der Entwicklungsumgebung. | + | |
- | * Ich verwende eine Umgebungsvariable und passe jeweils nur den Wert dieser Variablen an. ✅ | + | |
- | + | ||
- | Um eine solche Umgebungsvariable einzusetzen, | + | |
- | - Definiere | + | |
- | - Lege den Wert fest (z. B. '' | + | |
- | - Füge die Variable in den Pfad deiner Requests ein, z. B. '' | + | |
- | + | ||
- | Siehe [[https:// | + | |
===== Variablen für Daten ===== | ===== Variablen für Daten ===== | ||
Zeile 177: | Zeile 83: | ||
===== Hinweise & Doku ===== | ===== Hinweise & Doku ===== | ||
- | - Tests/ | + | * Tests/ |
- | - JavaScript-API Referenz (z. B. bru.setEnvVar): | + | |
- | + | ||
- | ---- | + | |
- | {{tag> | + | |
- | [[https:// | + | |
- | + | ||
- | ===== Hinweise & Doku ===== | + | |
- | - Tests/ | + | |
- | - Vollständige JavaScript-API (u. a. `bru.setEnvVar`, | + | |
---- | ---- |