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