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