Webhook'unuzu test etme

Webhook'unuzu geliştirirken, gerçek Business Mesaj yükleri. Manuel olarak test oluşturmak yerine, Webhook'unuzu çeşitli JSON yük türleriyle test etmek için Mesajlar test çerçevesi webhook'unuz üretimde alınabilir.

Başlamak için ihtiyacınız olan tek şey bir URL çalışan bir örneğidir. Test çerçevesi kolayca kurulur ve tek bir komutla webhook'unuzu test edebilirsiniz.

Başlarken

Çerçeveyi yükleme

Çerçeveyi yüklemenin en kolay yolu NPM paket yöneticisini kullanmaktır. Çerçeve, NPM paketi kayıt defterinde yayınlanır, böylece yükleyebilirsiniz npm ile:

npm install -g bm-test-framework

Testleri yapın

Paket yüklendiğinde webhook URL'nizi ortam olarak sağlayabilirsiniz. değişkenini çalıştırın ve tüm testleri aşağıdaki komutla çalıştırın:

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

Test çerçevesinin sonuçları aşağıdaki gibi görünür:

  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

Bu örnek test çalıştırmasında, tüm test durumları başarılı olmuştur.

Webhook'unuz test durumlarından birinde başarısız olursa bu, webhook'unuzun bu test durumunun JSON yüküne 200 OK ile yanıt verir. Bu durumda, test çerçeve, hata ayıklamanıza yardımcı olmak için hata bilgilerini yazdırır. Bkz. test çerçevesi README belirli test durumları hakkında daha fazla bilgi edinin.

Çerçeveyi NodeJS projenizde kullanın

Çerçeveyi bir NodeJS projesinde kendi kodunuzdan veya bir Mocha test paketi kullanıyorsanız ilk olarak paketi bir geliştirme bağımlılık:

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

Yüklendikten sonra, testleri yönetmek için bir BmTestFramework nesnesi oluşturabilirsiniz:

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

payloads üye dizisi tüm test durumlarını içerir. URL parametrelerinin Google tarafından nasıl ele alınmasını istediğinizi belirtmek için sendPayload yöntemini kullanın. Örneğin, aşağıdaki kod çerçevedeki ilk testi çalıştırır:

bmTestFramework.sendPayload(bmTestFramework.payloads[0])

Testleri yapılandırma

Zorunlu BMTF_ENDPOINT_URL ortam değişkenine ek olarak, test davranışını özelleştirmek için isteğe bağlı ortam değişkenleri de ayarlayın:

Ortam değişkeni Yapılandırma alanı adı Tür Açıklama
BMTF_RANDOM_UUID randomUuid boolean True (doğru) ise görüşme kimliğini geçerli bir biçime sahip rastgele bir UUID olarak ayarlar. Yanlış değerine ayarlanırsa tüm görüşme kimlikleri "CONVERSATION-ID" olarak ayarlanır.
BMTF_TIMEOUT Mola Sayı veya biçimlendirilmiş zaman dizesi Her test durumu için zaman aşımını milisaniye cinsinden ayarlar. Her test durumu için varsayılan zaman aşımı süresi 2.000 ms'dir. Ayrıntılı tür ve biçimlendirme spesifikasyonları için Mocha API referansına bakın.

Örneğin, aşağıdaki kod komut satırından test çerçevesini çalıştırır rastgele UUID seçeneği etkinleştirilmiş ve 1.000 ms'lik bir zaman aşımı ile:

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

NodeJS projenizdeki test davranışını özelleştirmek için BmTestFramework öğesini oluştururken aynı değişkenleri config nesnesine ekleyin:

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