Webhook'unuzu test etme

Webhook'unuzu geliştirirken gerçek İşletme Mesajları yükünü test etmek isteyebilirsiniz. Manuel olarak test oluşturmak yerine, webhook'unuzu üretimde alabileceğiniz çeşitli JSON yük türleriyle webhook'unuzu test etmek için Business Messages test çerçevesini kullanabilirsiniz.

Başlamak için ihtiyacınız olan tek şey webhook'unuzun çalışan bir URL'sidir. Test çerçevesini yüklemek kolaydır ve webhook'unuzu tek bir komutla test edebilirsiniz.

Başlarken

Çerçeveyi yükleme

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

npm install -g bm-test-framework

Testleri çalıştırma

Paket yüklendiğinde, webhook URL'nizi ortam değişkeni olarak sağlayabilir ve tüm testleri aşağıdaki komutla çalıştırabilirsiniz:

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ı geçti.

Webhook'unuz test durumlarından birinde başarısız olursa webhook'unuz bu test durumu JSON yüküne bir 200 OK yanıtı vermez. Bu durumda test çerçevesi, hata ayıklamanıza yardımcı olmak için hata bilgilerini yazdırır. Belirli test durumları hakkında daha fazla bilgi edinmek için README test çerçevesi konusuna bakın.

NodeJS projenizdeki çerçeveyi kullanma

Çerçevesi bir NodeJS projesindeki kendi kodunuzdan veya bir Mocha test paketinden kullanmak için önce paketi, geliştirme bağımlılığı olarak yükleyin:

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. Belirli bir test çalıştırmak için sendPayload yöntemini kullanabilirsiniz. Örneğin, aşağıdaki kod çerçevedeki ilk testi çalıştırır:

bmTestFramework.sendPayload(bmTestFramework.payloads[0])

Testleri yapılandırma

Gerekli BMTF_ENDPOINT_URL ortam değişkeninin yanı sıra test davranışını özelleştirmek için isteğe bağlı ortam değişkenleri de belirleyebilirsiniz:

Ortam değişkeni Yapılandırma alanı adı Tür Açıklama
BMTF_RANDOM_UUID Rastgele Uuid boolean True (Doğru) ise ileti dizisi kimliğini geçerli bir biçime sahip, rastgele hale getirilmiş bir UUID olarak ayarlar. Yanlışsa tüm görüşme kimliklerini "conv-ID" olarak ayarlar.
BMTF_TIMEOUT zaman aşımı Sayı veya biçimlendirilmiş zaman dizesi Her test durumu için zaman aşımını milisaniye cinsinden ayarlar. Varsayılan zaman aşımı her test durumu 2.000 ms'dir. Tür ve biçimlendirme özellikleri için Mocha API referansı sayfasına bakın.

Örneğin, aşağıdaki kod, rastgele UUID seçeneğinin etkin olduğu ve 1.000 ms'lik bir zaman aşımıyla komut satırından test çerçevesini çalıştırır:

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 aynı değişkenleri BmTestFramework öğenizi oluştururken config nesnesine de iletebilirsiniz:

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