ขณะพัฒนาเว็บฮุค คุณอาจต้องทดสอบกับ Business จริง เพย์โหลดของข้อความ แทนที่จะสร้างการทดสอบด้วยตนเอง คุณสามารถใช้ส่วนขยายธุรกิจ เฟรมเวิร์กการทดสอบข้อความเพื่อทดสอบเว็บฮุคด้วยเพย์โหลด JSON ประเภทต่างๆ เว็บฮุคอาจได้รับในเวอร์ชันที่ใช้งานจริง
ในการเริ่มต้นใช้งาน เพียงคุณมี URL เพื่อ อินสแตนซ์ที่ทำงานอยู่ของเว็บฮุค เฟรมเวิร์กการทดสอบนั้นติดตั้งง่าย และ คุณจะทดสอบเว็บฮุคได้ด้วยคำสั่งเดียว
เริ่มต้นใช้งาน
ติดตั้งเฟรมเวิร์ก
วิธีที่ง่ายที่สุดในการติดตั้งเฟรมเวิร์กคือการใช้ตัวจัดการแพ็กเกจ NPM
เฟรมเวิร์กจะเผยแพร่ในรีจิสทรีแพ็กเกจ NPM เพื่อให้คุณติดตั้งได้
ด้วย npm
:
npm install -g bm-test-framework
ทำการทดสอบ
เมื่อติดตั้งแพ็กเกจแล้ว คุณจะระบุ URL ของเว็บฮุคเป็นสภาพแวดล้อมได้ และเรียกใช้การทดสอบทั้งหมดด้วยคำสั่งต่อไปนี้
BMTF_ENDPOINT_URL=<Your webhook URL> bm-test-framework
ผลลัพธ์ของกรอบการทดสอบจะมีลักษณะดังนี้
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
ในตัวอย่างนี้ทำการทดสอบนี้ กรอบการทดสอบทั้งหมดผ่านการตรวจสอบแล้ว
หากเว็บฮุคไม่ทำงานในกรอบการทดสอบอันใดอันหนึ่ง แสดงว่าเว็บฮุคไม่
ตอบสนองด้วย 200 OK
ต่อเพย์โหลด JSON ของกรณีทดสอบนั้น ในกรณีดังกล่าว การทดสอบ
จะพิมพ์ข้อมูลข้อผิดพลาดเพื่อช่วยคุณแก้ไขข้อบกพร่อง โปรดดู
เฟรมเวิร์กการทดสอบ README
เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับกรอบการทดสอบที่เฉพาะเจาะจง
ใช้เฟรมเวิร์กในโปรเจ็กต์ NodeJS ของคุณ
หากต้องการใช้เฟรมเวิร์กจากภายในโค้ดของคุณเองในโปรเจ็กต์ NodeJS หรือจาก ภายในชุดทดสอบ Mocha ให้ติดตั้งแพ็กเกจเพื่อเป็นการพัฒนาก่อน การพึ่งพา:
npm install --save-dev bm-test-framework
เมื่อติดตั้งแล้ว คุณจะสร้างออบเจ็กต์ BmTestFramework
เพื่อจัดการการทดสอบได้ ดังนี้
const BmTestFramework = require('bm-test-framework');
const bmTestFramework = new BmTestFramework({endpointURL: <Your webhook URL>});
อาร์เรย์สมาชิก payloads
ประกอบด้วยกรอบการทดสอบทั้งหมด คุณสามารถใช้
sendPayload
เมธอดเพื่อทำการทดสอบที่เจาะจง ตัวอย่างเช่น โค้ดต่อไปนี้
เรียกใช้การทดสอบแรกในเฟรมเวิร์ก:
bmTestFramework.sendPayload(bmTestFramework.payloads[0])
กำหนดค่าการทดสอบ
นอกจากตัวแปรสภาพแวดล้อม BMTF_ENDPOINT_URL
ที่จำเป็นแล้ว คุณยังทำสิ่งต่อไปนี้ได้
ให้ตั้งค่าตัวแปรสภาพแวดล้อมที่ไม่บังคับเพื่อปรับแต่งลักษณะการทำงานการทดสอบด้วย ดังนี้
ตัวแปรสภาพแวดล้อม | ชื่อช่องการกำหนดค่า | ประเภท | คำอธิบาย |
---|---|---|---|
BMTF_RANDOM_UUID | randomUuid | boolean | หากเป็นจริง ให้กำหนดรหัสการสนทนาเป็น UUID แบบสุ่มที่มีรูปแบบที่ถูกต้อง หากเป็น "เท็จ" ตั้งค่ารหัสการสนทนาทั้งหมดเป็น "CONVERSATION-ID" |
BMTF_TIMEOUT | เวลานอก | จำนวนหรือสตริงเวลาที่จัดรูปแบบ | ตั้งค่าการหมดเวลาเป็นมิลลิวินาทีสำหรับกรอบการทดสอบแต่ละรายการ ระยะหมดเวลาเริ่มต้นคือ 2,000 มิลลิวินาทีสําหรับแต่ละกรอบการทดสอบ ดูข้อมูลอ้างอิงของ Mocha API สำหรับรายละเอียดเกี่ยวกับข้อกำหนดการจัดรูปแบบและประเภท |
ตัวอย่างเช่น โค้ดต่อไปนี้เรียกใช้เฟรมเวิร์กการทดสอบจากบรรทัดคำสั่ง ที่เปิดใช้ตัวเลือก UUID แบบสุ่มและมีระยะหมดเวลา 1000 มิลลิวินาที
BMTF_ENDPOINT_URL=<Your webhook URL> BMTF_TIMEOUT=1000 BMTF_RANDOM_UUID=true bm-test-framework
ในการปรับแต่งลักษณะการทำงานทดสอบในโปรเจ็กต์ NodeJS ของคุณ คุณสามารถส่งฟังก์ชัน
ตัวแปรเดียวกันลงในออบเจ็กต์ config
เมื่อคุณสร้าง BmTestFramework
:
const bmTestFramework = new BmTestFramework({endpointURL: <Your webhook URL>, randomUuid: true, timeout: 1000});