Testare il webhook

Durante lo sviluppo del webhook, ti consigliamo di testarlo con modelli Payload dei messaggi. Anziché creare manualmente i test, puoi utilizzare lo strumento Framework di test di Messaggi per testare il webhook con vari tipi di payload JSON che il webhook potrebbe ricevere in produzione.

Per iniziare, ti serve solo un URL per un'istanza in esecuzione del webhook. Il framework di test è facile da installare puoi testare il webhook con un solo comando.

Per iniziare

Installare il framework

Il modo più semplice di installare il framework è utilizzare il gestore di pacchetti di Gestione dei pacchetti di Gestione dei partner di rete. Il framework è pubblicato nel registro pacchetti di Gestione dei partner di rete, quindi è possibile installarlo con npm:

npm install -g bm-test-framework

Esegui i test

Una volta installato il pacchetto, puoi fornire l'URL webhook come ambiente ed esegui tutti i test con il seguente comando:

BMTF_ENDPOINT_URL=<Your webhook URL> bm-test-framework

I risultati del framework di test hanno il seguente aspetto:

  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 questa esecuzione di test di esempio, tutti gli scenari di test sono stati superati.

Se il webhook non riesce in uno degli scenari di test, significa che non rispondere con 200 OK al payload JSON dello scenario di test. In questo caso, il test stampa le informazioni sugli errori per aiutarti a eseguire il debug. Consulta le README del framework di test per scoprire di più sugli scenari di test specifici.

Utilizza il framework nel progetto NodeJS

Per utilizzare il framework dall'interno del tuo codice in un progetto NodeJS o da all'interno di una suite di test Mocha, installa innanzitutto il pacchetto come :

npm install --save-dev bm-test-framework

Dopo l'installazione, puoi creare un oggetto BmTestFramework per gestire i test:

const BmTestFramework = require('bm-test-framework');
const bmTestFramework = new BmTestFramework({endpointURL: <Your webhook URL>});

L'array di membri payloads contiene tutti gli scenari di test. Puoi utilizzare lo sendPayload metodo per eseguire un test specifico. Ad esempio, il seguente codice esegue il primo test nel framework:

bmTestFramework.sendPayload(bmTestFramework.payloads[0])

Configura i test

Oltre alla variabile di ambiente BMTF_ENDPOINT_URL obbligatoria, puoi imposta anche variabili di ambiente facoltative per personalizzare il comportamento del test:

Variabile di ambiente Nome campo di configurazione Tipo Descrizione
BMTF_RANDOM_UUID randomUuid booleano Se impostato su true, imposta l'ID conversazione su un UUID casuale con un formato valido. Se il valore è false, imposta tutti gli ID conversazione su "CONVERSATION-ID".
BMTF_TIMEOUT timeout Numero o stringa temporale formattata Imposta il timeout in millisecondi per ogni scenario di test. Il timeout predefinito è 2000 ms per ogni scenario di test. Consulta la documentazione di riferimento dell'API Mocha per informazioni dettagliate sul tipo e sulle specifiche di formattazione.

Ad esempio, il seguente codice esegue il framework di test dalla riga di comando con l'opzione UUID casuale abilitata e con un timeout di 1000 ms:

BMTF_ENDPOINT_URL=<Your webhook URL> BMTF_TIMEOUT=1000 BMTF_RANDOM_UUID=true bm-test-framework

Per personalizzare il comportamento del test nel tuo progetto NodeJS, puoi anche passare il metodo stesse variabili nell'oggetto config quando crei BmTestFramework:

const bmTestFramework = new BmTestFramework({endpointURL: <Your webhook URL>, randomUuid: true, timeout: 1000});