Webhook testen

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});