Kiểm tra webhook của bạn

Trong khi phát triển webhook, bạn có thể muốn thử nghiệm webhook đó với doanh nghiệp thực Tải trọng tin nhắn. Thay vì tạo thử nghiệm theo cách thủ công, bạn có thể sử dụng Khung thử nghiệm thông báo để kiểm tra webhook của bạn với nhiều loại tải trọng JSON webhook của bạn có thể nhận được trong quá trình sản xuất.

Để bắt đầu, bạn chỉ cần một URL để một phiên bản webhook đang chạy. Khung thử nghiệm dễ cài đặt và bạn có thể kiểm tra webhook của mình chỉ bằng một lệnh.

Bắt đầu

Cài đặt khung

Cách dễ nhất để cài đặt khung này là bằng trình quản lý gói Trình quản lý đối tác dữ liệu (API). Khung này được xuất bản trong sổ đăng ký gói chrome nên bạn có thể cài đặt khung này với npm:

npm install -g bm-test-framework

Chạy kiểm thử

Sau khi cài đặt gói hàng, bạn có thể cung cấp URL webhook của mình dưới dạng môi trường biến và chạy tất cả các kiểm thử bằng lệnh sau:

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

Kết quả của khung kiểm thử có dạng như sau:

  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

Trong ví dụ về lần chạy kiểm thử này, tất cả các trường hợp kiểm thử đều thành công.

Nếu webhook của bạn không hoạt động ở một trong các trường hợp thử nghiệm, điều đó có nghĩa là webhook của bạn không phản hồi bằng 200 OK cho tải trọng JSON của trường hợp kiểm thử đó. Trong trường hợp đó, kiểm thử khung sẽ in thông tin lỗi để giúp bạn gỡ lỗi. Xem README khung kiểm thử để tìm hiểu thêm về các trường hợp kiểm thử cụ thể.

Sử dụng khung trong dự án NodeJS

Để sử dụng khung này từ trong mã của riêng bạn trong dự án NodeJS hoặc từ trong bộ thử nghiệm Mocha, trước tiên hãy cài đặt gói này phần phụ thuộc:

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

Sau khi cài đặt, bạn có thể tạo đối tượng BmTestFramework để quản lý các chương trình kiểm thử:

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

Mảng thành phần payloads chứa tất cả các trường hợp kiểm thử. Bạn có thể sử dụng sendPayload để chạy một quy trình kiểm thử cụ thể. Ví dụ: mã sau đây chạy bài kiểm thử đầu tiên trong khung này:

bmTestFramework.sendPayload(bmTestFramework.payloads[0])

Định cấu hình kiểm thử

Ngoài biến môi trường BMTF_ENDPOINT_URL bắt buộc, bạn có thể cũng thiết lập các biến môi trường không bắt buộc để tuỳ chỉnh hành vi kiểm thử:

Biến môi trường Tên trường cấu hình Loại Mô tả
BMTF_RANDOM_UUID randomUuid boolean Nếu đúng, hãy đặt mã cuộc trò chuyện thành một UUID ngẫu nhiên có định dạng hợp lệ. Nếu là false, hãy đặt tất cả mã cuộc trò chuyện thành "CONVERSATION-ID".
BMTF_TIMEOUT tạm ngừng Số hoặc chuỗi thời gian được định dạng Đặt thời gian chờ tính bằng mili giây cho mỗi trường hợp kiểm thử. Thời gian chờ mặc định là 2000 mili giây cho mỗi trường hợp kiểm thử. Hãy xem tài liệu tham khảo API Mocha để biết thông số kỹ thuật chi tiết về loại và định dạng.

Ví dụ: mã sau đây chạy khung kiểm thử từ dòng lệnh khi bật tuỳ chọn UUID ngẫu nhiên và có thời gian chờ là 1.000 mili giây:

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

Để tuỳ chỉnh hành vi kiểm thử trong dự án NodeJS, bạn cũng có thể truyền phương thức cùng các biến đó vào đối tượng config khi bạn tạo BmTestFramework:

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