Podczas tworzenia webhooka warto przetestować go w aplikacji Business Ładunki wiadomości. Zamiast ręcznie tworzyć testy, możesz użyć funkcji Platforma testowa Wiadomości do testowania webhooka z różnymi typami ładunków JSON webhook może otrzymać informację o wersji produkcyjnej.
Na początek wystarczy podać adres URL z działającą instancją webhooka. Platformę do testów można łatwo zainstalować. możesz przetestować webhooka jednym poleceniem.
Pierwsze kroki
Instalowanie platformy
Najłatwiejszym sposobem zainstalowania platformy jest użycie menedżera pakietów NPM.
Platforma jest opublikowana w rejestrze pakietów NPM, więc możesz ją zainstalować
z użytkownikiem npm
:
npm install -g bm-test-framework
Przeprowadzanie testów
Po zainstalowaniu pakietu możesz podać adres URL webhooka jako środowisko i uruchom wszystkie testy tym poleceniem:
BMTF_ENDPOINT_URL=<Your webhook URL> bm-test-framework
Wyniki platformy testowej wyglądają tak:
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
W tym przykładowym uruchomieniu testowym wszystkie zostały zaliczone.
Jeśli w jednym z przypadków testowych webhook przestanie działać, oznacza to, że nie zrobi tego.
wysyłać odpowiedź 200 OK
do ładunku JSON tego przypadku testowego. W takim przypadku test
platforma wyświetla informacje o błędach, które ułatwiają debugowanie. Zobacz
platforma README do testów
aby dowiedzieć się więcej o konkretnych przypadkach testowych.
Używanie platformy w projekcie NodeJS
Aby użyć platformy z poziomu własnego kodu w projekcie NodeJS lub w ramach pakietu testów Mocha, najpierw zainstaluj ten pakiet jako program zależność:
npm install --save-dev bm-test-framework
Po zainstalowaniu możesz utworzyć obiekt BmTestFramework
, aby zarządzać testami:
const BmTestFramework = require('bm-test-framework');
const bmTestFramework = new BmTestFramework({endpointURL: <Your webhook URL>});
Tablica członków payloads
zawiera wszystkie przypadki testowe. Za pomocą
sendPayload
, aby uruchomić określony test. Na przykład ten kod
przeprowadza pierwszy test w ramach platformy:
bmTestFramework.sendPayload(bmTestFramework.payloads[0])
Konfigurowanie testów
Oprócz wymaganej zmiennej środowiskowej BMTF_ENDPOINT_URL
możesz też
ustaw też opcjonalne zmienne środowiskowe, aby dostosować działanie testowe:
Zmienna środowiskowa | Nazwa pola konfiguracji | Typ | Opis |
---|---|---|---|
BMTF_RANDOM_UUID | randomUuid | wartość logiczna | Jeśli ustawiona jest wartość „prawda”, identyfikator rozmowy jest ustawiany na losowy identyfikator UUID w prawidłowym formacie. Jeśli ma wartość Fałsz, wszystkie identyfikatory wątków ustawiają na „CONVERSATION-ID”. |
BMTF_TIMEOUT | czas oczekiwania | Liczba lub sformatowany ciąg znaków czasu | Ustawia czas oczekiwania w milisekundach dla każdego przypadku testowego. Domyślny limit czasu wynosi 2000 ms dla każdego przypadku testowego. Szczegółowe specyfikacje typów i formatowania znajdziesz w dokumentacji interfejsu Mocha API. |
Na przykład ten kod uruchamia platformę testową z poziomu wiersza poleceń z włączoną opcją losowego identyfikatora UUID i limitem czasu wynoszącym 1000 ms:
BMTF_ENDPOINT_URL=<Your webhook URL> BMTF_TIMEOUT=1000 BMTF_RANDOM_UUID=true bm-test-framework
Aby dostosować działanie testu w projekcie NodeJS, możesz też przekazać
do obiektu config
podczas tworzenia obiektu BmTestFramework
:
const bmTestFramework = new BmTestFramework({endpointURL: <Your webhook URL>, randomUuid: true, timeout: 1000});