Testare il webhook

Durante lo sviluppo del webhook, puoi provare a testarlo con payload di Business Messages reali. Anziché creare manualmente i test, puoi utilizzare il framework di test di Business Messages per testare il webhook con vari tipi di payload JSON che il webhook potrebbe ricevere in produzione.

Per iniziare, tutto ciò che serve è un URL a un'istanza in esecuzione del webhook. Il framework di test è facile da installare e puoi testare il webhook con un singolo comando.

Per cominciare

Installa il framework

Il modo più semplice per installare il framework è utilizzando Gestione pacchetti NPM. Il framework è pubblicato nel registro dei pacchetti NPM, quindi puoi installarlo con npm:

npm install -g bm-test-framework

Eseguire i test

Con il pacchetto installato, puoi fornire l'URL webhook come variabile di ambiente ed eseguire tutti i test con il comando seguente:

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

Se il webhook non riesce in uno degli scenari di test, significa che non risponde con un 200 OK al payload JSON di tale scenario di test. In questo caso, il frame di test stampa informazioni sugli errori per aiutarti a eseguire il debug. Consulta il README di framework di test per ulteriori informazioni su scenari di test specifici.

Utilizza il framework nel tuo progetto NodeJS

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

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

Una volta installato, 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 dei membri payloads contiene tutti gli scenari di test. Puoi utilizzare il metodo sendPayload 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 richiesta, puoi anche impostare variabili di ambiente facoltative per personalizzare il comportamento del test:

Variabile di ambiente Nome del campo di configurazione Tipo Descrizione
BMTF_RANDOM_UUID casualUuid boolean Se true, imposta l'ID conversazione su un UUID randomizzato con un formato valido. Se il valore è false, tutti gli ID di conversazione vengono impostati su "ID CONVERSAZIONE".
BMTF_TIMEOUT Timeout Numero o stringa di tempo formattata Imposta il timeout in millisecondi per ogni scenario di test. Il timeout predefinito è di 2000 ms per ogni scenario di test. Consulta la documentazione sull'API Mocha per informazioni dettagliate su tipo e formattazione.

Ad esempio, il codice seguente 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 le stesse variabili nell'oggetto config quando crei il tuo BmTestFramework:

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