Während der Entwicklung sollten Sie den Webhook mit echten Businesstools testen. Nachrichtennutzlasten. Anstatt Tests manuell zu erstellen, können Sie den Tab Messages-Testframework zum Testen des Webhooks mit verschiedenen JSON-Nutzlasttypen die Ihr Webhook in der Produktion empfangen kann.
Für den Einstieg benötigen Sie lediglich eine URL, eine laufende Instanz Ihres Webhooks. Das Test-Framework ist einfach zu installieren können Sie den Webhook mit einem einzigen Befehl testen.
Erste Schritte
Framework installieren
Am einfachsten lässt sich das Framework mit dem NPM-Paketmanager installieren.
Das Framework wurde in der NPM-Paketregistrierung veröffentlicht, sodass Sie es installieren können
mit npm
:
npm install -g bm-test-framework
Tests ausführen
Wenn das Paket installiert ist, können Sie die Webhook-URL als Umgebung angeben Variable und führen Sie alle Tests mit dem folgenden Befehl aus:
BMTF_ENDPOINT_URL=<Your webhook URL> bm-test-framework
Die Ergebnisse des Test-Frameworks sehen so aus:
Sending payloads to <Your webhook URL>
✔ authentication-request.json should return 200
✔ event-receive.json should return 200
✔ image-message.json should return 200 (862ms)
✔ read-receipt.json should return 200
✔ suggestion-message.json should return 200
✔ text-message.json should return 200 (134ms)
✔ text-with-dialogflow-response.json should return 200 (128ms)
✔ user-receipt.json should return 200
In diesem Beispieltestlauf wurden alle Testläufe bestanden.
Wenn der Webhook in einem der Testfälle fehlschlägt, bedeutet dies, dass er
mit einem 200 OK
auf die JSON-Nutzlast dieses Testlaufs antworten. In diesem Fall wird der Test
gibt das Framework Fehlerinformationen aus,
die Ihnen bei der Fehlerbehebung helfen. Weitere Informationen finden Sie in der
Test-Framework README
um mehr über bestimmte Testfälle zu erfahren.
Framework im NodeJS-Projekt verwenden
Um das Framework aus Ihrem eigenen Code in einem NodeJS-Projekt oder aus in einer Mocha-Testsuite zuerst das Paket als Entwicklungsumgebung Abhängigkeit:
npm install --save-dev bm-test-framework
Nach der Installation können Sie ein BmTestFramework
-Objekt erstellen, um die Tests zu verwalten:
const BmTestFramework = require('bm-test-framework');
const bmTestFramework = new BmTestFramework({endpointURL: <Your webhook URL>});
Das Mitglieder-Array payloads
enthält alle Testläufe. Sie können die
sendPayload
-Methode zum Ausführen eines bestimmten Tests. Der folgende Code
führt den ersten Test im Framework aus:
bmTestFramework.sendPayload(bmTestFramework.payloads[0])
Tests konfigurieren
Zusätzlich zur erforderlichen Umgebungsvariable BMTF_ENDPOINT_URL
können Sie
Legen Sie außerdem optionale Umgebungsvariablen fest, um das Testverhalten anzupassen:
Umgebungsvariable | Name des Konfigurationsfelds | Typ | Beschreibung |
---|---|---|---|
BMTF_RANDOM_UUID | randomUuid | boolean | Bei „true“ wird die Unterhaltungs-ID auf eine zufällige UUID mit einem gültigen Format festgelegt. Bei "false" werden alle Unterhaltungs-IDs auf "CONVERSATION-ID" festgelegt. |
BMTF_TIMEOUT | Zeitüberschreitung | Zahl oder formatierter Zeitstring | Legt das Zeitlimit in Millisekunden für jeden Testlauf fest. Das Standardzeitlimit beträgt für jeden Testlauf 2.000 ms. Ausführliche Typ- und Formatierungsspezifikationen finden Sie in der Referenz zur Mocha API. |
Mit dem folgenden Code wird beispielsweise das Test-Framework über die Befehlszeile ausgeführt mit aktivierter Option für zufällige UUIDs und einem Zeitlimit von 1.000 ms:
BMTF_ENDPOINT_URL=<Your webhook URL> BMTF_TIMEOUT=1000 BMTF_RANDOM_UUID=true bm-test-framework
Um das Testverhalten in Ihrem NodeJS-Projekt anzupassen, können Sie auch den
dieselben Variablen in das config
-Objekt einfügen, wenn Sie die BmTestFramework
erstellen:
const bmTestFramework = new BmTestFramework({endpointURL: <Your webhook URL>, randomUuid: true, timeout: 1000});