คำขอบางอย่างจำเป็นต้องมีการดำเนินการก่อนที่จะออกจากเครื่องของคุณ และบางอย่างจำเป็นต้องมีการดำเนินการทันทีที่ได้รับคำตอบ API การชำระเงินต้องการลายเซ็น HMAC ที่คำนวณจาก timestamp และรหัสลับของคุณ ปลายทางสำหรับล็อกอินส่งคืนโทเค็นที่จำเป็นสำหรับทุกการเรียกใช้ในภายหลัง ขั้นตอนการชำระเงินต้องยืนยันว่าการตอบกลับคืนค่า 200 และรหัสคำสั่งซื้อที่ถูกต้อง คุณสามารถทำทั้งหมดนี้ได้ด้วยตนเอง แต่สิ่งนี้จะซ้ำซากอย่างรวดเร็ว และจะเสียทันทีที่คุณแชร์คำขอให้กับเพื่อนร่วมทีม
สคริปต์ช่วยแก้ไขปัญหานั้น ใน Apidog คุณสามารถแนบโค้ด JavaScript เล็กๆ น้อยๆ เข้ากับคำขอที่จะทำงานโดยอัตโนมัติ: ชุดหนึ่งทำงานก่อนส่งคำขอ อีกชุดหนึ่งทำงานหลังจากได้รับคำตอบ หากคุณเคยเขียนสคริปต์ Postman มาก่อน ความเคยชินจะยังคงอยู่ เพราะเอนจินของ Apidog เข้ากันได้กับ pm object API แบบเดียวกัน คู่มือนี้จะอธิบายทั้งสองขั้นตอนพร้อมตัวอย่างที่เป็นจริง: การลงนามคำขอในสคริปต์ก่อนส่งคำขอ จากนั้นดึงโทเค็นในสคริปต์หลังตอบกลับ พฤติกรรมนี้มีเอกสารครบถ้วนใน เอกสารสคริปต์ของ Apidog แต่ชื่อแท็บและพฤติกรรมบางอย่างแตกต่างจาก Postman และความแตกต่างเหล่านี้มีความสำคัญ
button
สคริปต์ก่อนและหลังทำอะไร
Apidog รันสคริปต์เป็นสองขั้นตอน และตั้งชื่อไว้อย่างชัดเจน
Pre Processors (ตัวประมวลผลล่วงหน้า) ทำงานก่อนที่คำขอจะถูกส่งไปยังเซิร์ฟเวอร์ นี่คือจุดที่คุณเตรียมสิ่งต่างๆ: สร้าง timestamp, คำนวณลายเซ็น, ตั้งรหัสคำสั่งซื้อแบบสุ่ม, หรืออ่านตัวแปรและปรับเปลี่ยนให้เป็นส่วนหัว การตอบกลับยังไม่มีอยู่ในขั้นตอนนี้ ดังนั้นสิ่งใดก็ตามที่ตรวจสอบการตอบกลับจึงไม่สามารถทำได้ที่นี่
Post Processors (ตัวประมวลผลภายหลัง) ทำงานหลังจากได้รับคำตอบ นี่คือจุดที่คุณตรวจสอบสิ่งที่ได้รับกลับมาด้วยการยืนยัน (assertions) และเป็นที่ที่คุณดึงค่าจากเนื้อหา (body) เพื่อนำไปใช้ซ้ำในภายหลัง เช่น ดึงโทเค็นการยืนยันตัวตน, ดึง ID ของทรัพยากรที่สร้างขึ้นใหม่, ตรวจสอบรหัสสถานะ, บันทึก cursor สำหรับการแบ่งหน้า
มีสองกฎที่ตามมาจากการแบ่งนี้ ประการแรก pm.response (พร้อมด้วย code, status, headers, responseTime, responseSize, text() และ json()) จะใช้งานได้เฉพาะใน Post Processors เท่านั้น ไม่มีคำตอบให้อ่านก่อนที่คุณจะส่ง ดังนั้นการเรียกใช้ใน Pre Processor จะไม่ช่วยอะไรคุณ ประการที่สอง ตัวแปรคือวิธีที่ทั้งสองขั้นตอนสื่อสารกัน Pre Processor กำหนดค่า คำขอใช้ค่าดังกล่าว และ Post Processor สามารถอ่านหรือเขียนทับได้
หากคุณมาจาก Postman โปรดทราบการเปลี่ยนแปลงชื่อแท็บล่วงหน้า แท็บของ Apidog คือ Pre Processors และ Post Processors ไม่ใช่ "Pre-request Script" และ "Tests" พฤติกรรมจะคล้ายกันมาก แต่ชื่อที่แสดงบนหน้าจอแตกต่างกัน
การตั้งค่า: เปิดคำขอและค้นหาแท็บ
ดาวน์โหลด Apidog เพื่อทำตามคู่มือนี้ มันฟรีและใช้งานได้บน macOS, Windows และ Linux ดังนั้นไปดาวน์โหลดได้จากหน้า ดาวน์โหลด Apidog หากคุณยังไม่มี
เปิดคำขอ API ที่คุณต้องการเขียนสคริปต์ภายใน Apidog ทุกปลายทางจะมีแท็บ Pre Processors และแท็บ Post Processors ควบคู่ไปกับแท็บ Params, Headers และ Body ตามปกติ หากต้องการเพิ่มตรรกะในขั้นตอนใดขั้นตอนหนึ่ง ให้เปิดแท็บแล้วเลือก add a Custom Script (เพิ่มสคริปต์ที่กำหนดเอง) ซึ่งจะเปิดตัวแก้ไขโค้ดที่คุณสามารถเขียน JavaScript ธรรมดาโดยใช้ pm object
ก่อนที่จะเขียนอะไร สิ่งสำคัญคือต้องรู้ว่าค่าต่างๆ อยู่ที่ใด Apidog แก้ไขตัวแปรตามลำดับความสำคัญนี้:
ตัวแปรท้องถิ่น (Local Variables) > ตัวแปรสภาพแวดล้อม (Environment Variables) > ตัวแปรส่วนกลางที่ใช้ร่วมกันในโปรเจกต์ (Global Variables Shared within Project) > ตัวแปรส่วนกลางที่ใช้ร่วมกันในทีม (Global Variables Shared within Team)
ดังนั้น ตัวแปรท้องถิ่นจะมีผลเหนือกว่าตัวแปรสภาพแวดล้อมที่มีชื่อเดียวกัน และไล่ลงไปตามลำดับ โปรดจำสิ่งนี้ไว้เมื่อค่าไม่เป็นไปตามที่คุณคาดหวัง: บางสิ่งที่มีลำดับสูงกว่าอาจกำลังบังค่าอยู่ หากคุณต้องการค่าที่คงอยู่ตลอดหลายคำขอ พารามิเตอร์ส่วนกลางใน Apidog จะอยู่ในลำดับความสำคัญที่ต่ำกว่าและเป็นที่ที่ดีสำหรับการตั้งค่าที่มั่นคงในระดับโปรเจกต์
ตัวอย่าง Pre Processor: ลงนามคำขอด้วย HMAC
สมมติว่าคุณเรียกใช้ปลายทางการชำระเงินที่ยืนยันตัวตนแต่ละคำขอด้วยลายเซ็น HMAC-SHA256 นี่เป็นรูปแบบเดียวกันกับที่ผู้ให้บริการหลายรายใช้สำหรับการยืนยัน webhook และ เอกสารลายเซ็นของ Stripe อธิบายไว้ได้ดี: เซิร์ฟเวอร์คาดหวัง timestamp และลายเซ็นที่คำนวณจาก timestamp นั้นรวมกับ request body โดยใช้ API secret ของคุณเป็นกุญแจ คุณต้องสร้างทั้งสองอย่างขึ้นมาใหม่ทุกครั้งที่ส่ง
Apidog มีไลบรารี crypto-js มาให้ในตัว ดังนั้นคุณไม่จำเป็นต้องติดตั้งอะไร เปิดแท็บ Pre Processors เลือก add a Custom Script (เพิ่มสคริปต์ที่กำหนดเอง) และเขียนโค้ดนี้:
// Pre Processor: ลงนามคำขอก่อนที่จะถูกส่ง
const CryptoJS = require('crypto-js');
// timestamp ปัจจุบันในหน่วยวินาทีแบบ Unix
const timestamp = Math.floor(Date.now() / 1000).toString();
// อ่านรหัสลับจากตัวแปรสภาพแวดล้อม
const secret = pm.environment.get('payments_api_secret');
// สร้างสตริงที่จะลงนาม: timestamp + ขึ้นบรรทัดใหม่ + raw body
const body = pm.request.body ? pm.request.body.toString() : '';
const payload = timestamp + '\n' + body;
// คำนวณลายเซ็น HMAC-SHA256, เข้ารหัสแบบ hex
const signature = CryptoJS.HmacSHA256(payload, secret).toString(CryptoJS.enc.Hex);
// เก็บค่าทั้งสองไว้เป็นตัวแปรสภาพแวดล้อมเพื่อให้คำขอใช้
pm.environment.set('x_timestamp', timestamp);
pm.environment.set('x_signature', signature);
pm.console.log('ลงนามคำขอเมื่อ ' + timestamp);
สคริปต์นั้นคำนวณลายเซ็นและบันทึกทั้ง timestamp และลายเซ็นลงในตัวแปรสภาพแวดล้อม ตอนนี้เชื่อมโยงเข้ากับคำขอ ในแท็บ Headers (ส่วนหัว) ให้อ้างอิงถึงค่าที่เก็บไว้ด้วยไวยากรณ์ {{variableName}}:
X-Timestamp: {{x_timestamp}}
X-Signature: {{x_signature}}
เมื่อคุณส่ง Apidog จะรัน Pre Processor ก่อน จากนั้นตั้งค่าตัวแปรทั้งสอง แล้วแทนที่ค่าเหล่านั้นลงในส่วนหัว เซิร์ฟเวอร์จะได้รับลายเซ็นที่ถูกต้องในเวลาที่ส่งคำขอทุกครั้ง โดยไม่มีขั้นตอนด้วยตนเอง สังเกตว่าการเรียก require('crypto-js') ดึงโมดูลทั้งหมดเข้ามา คุณนำเข้าไลบรารีทั้งหมด ไม่ใช่ซับโมดูล ดังนั้น require('crypto-js') จึงทำงานได้ แต่ require('crypto-js/sha256') ไม่ได้
สิ่งหนึ่งที่ต้องระวัง: การดำเนินการกับตัวแปรจะส่งผลต่อค่าปัจจุบันเท่านั้น ไม่ใช่ค่าเริ่มต้นที่คุณอาจพิมพ์ในตัวแก้ไขสภาพแวดล้อม นั่นคือสิ่งที่คุณต้องการในที่นี้ เนื่องจากลายเซ็นมีวัตถุประสงค์เพื่อเป็นชั่วคราว หากคุณต้องการคำอธิบายรูปแบบการลงนามสำหรับฝั่ง Postman ด้วย คู่มือใน สคริปต์ก่อนส่งคำขอของ Postman ครอบคลุมแนวคิดเดียวกันกับป้ายกำกับของ Postman และสามารถนำมาปรับใช้กับ Pre Processors ของ Apidog ได้อย่างลงตัว
ตัวอย่าง Post Processor: ดึงโทเค็นและยืนยัน
มาถึงขั้นตอนถัดไป ลองนึกภาพคำขอเข้าสู่ระบบที่ส่งคืนโทเค็นที่คุณต้องใช้สำหรับการเรียกใช้ที่ผ่านการยืนยันตัวตนในภายหลัง:
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"user": { "id": 4812, "email": "dana@example.com" },
"expires_in": 3600
}
เปิดแท็บ Post Processors เลือก add a Custom Script (เพิ่มสคริปต์ที่กำหนดเอง) และดึงโทเค็นออกจากเนื้อหา (body) เพื่อบันทึกไว้สำหรับคำขอในภายหลัง:
// Post Processor: ตรวจสอบการตอบกลับ จากนั้นดึงโทเค็น
pm.test('สถานะคือ 200', function () {
pm.response.to.have.status(200);
});
const jsonData = pm.response.json();
pm.test('การตอบกลับส่งคืนโทเค็น', function () {
pm.expect(jsonData.token).to.be.a('string').and.not.empty;
});
pm.test('มี user id อยู่', function () {
pm.expect(jsonData.user.id).to.be.a('number');
});
// เก็บโทเค็นเพื่อให้คำขออื่นสามารถส่งได้
pm.environment.set('auth_token', jsonData.token);
pm.console.log('บันทึกโทเค็นสำหรับผู้ใช้ ' + jsonData.user.email);
มีสองสิ่งเกิดขึ้นที่นี่ บล็อก pm.test() ยืนยันว่าการตอบกลับมีรูปแบบตามที่คุณคาดหวัง โดยใช้ตัวจับคู่ pm.expect() สไตล์ Chai ที่ Apidog รองรับ และ pm.environment.set('auth_token', jsonData.token) บันทึกโทเค็นลงในสภาพแวดล้อม ตอนนี้คำขอใดๆ ในภายหลังสามารถส่ง Authorization: Bearer {{auth_token}} ได้โดยที่คุณไม่ต้องคัดลอกด้วยตนเอง
ส่วนของการยืนยันนี้ควรได้รับความสนใจเป็นพิเศษ การตรวจสอบหลังการตอบกลับที่ดีคือสิ่งที่เปลี่ยนจากการคลิกและตรวจสอบด้วยตาเปล่าเป็นการทดสอบจริง และคู่มือของเราเกี่ยวกับ การยืนยัน API ใน Apidog จะเจาะลึกเกี่ยวกับตัวจับคู่และรูปแบบที่ควรรู้ หากคุณต้องการป้อนข้อมูลปลอมที่สมจริงเข้าสู่ขั้นตอนเหล่านี้ด้วย Faker.js ใน Apidog ก็เข้ากันได้ดีกับการตั้งค่าตัวแปรที่แสดงไว้ข้างต้น
พฤติกรรมบางอย่างที่ต้องจำไว้ใน Post Processors pm.iterationData (ข้อมูลทดสอบของคุณ) เป็นแบบอ่านอย่างเดียว ดังนั้นคุณสามารถอ่านค่าที่ขับเคลื่อนด้วยข้อมูลได้ แต่ไม่สามารถเขียนกลับคืนได้จากสคริปต์ และ pm.cookies จะคืนค่าคุกกี้จากการตอบกลับ ซึ่งเป็นคุกกี้ที่เซิร์ฟเวอร์ส่งกลับมา ไม่ใช่คุกกี้ที่ส่งออกไปพร้อมกับคำขอของคุณ
นำตรรกะกลับมาใช้ซ้ำด้วย Public Scripts
เมื่อคุณเขียนบล็อกการลงนาม HMAC นั้นแล้ว คุณอาจต้องการใช้กับคำขอมากกว่าหนึ่งรายการ การคัดลอกและวางลงในปลายทางสิบแห่งหมายถึงสิบจุดที่ต้องแก้ไขเมื่ออัลกอริทึมมีการเปลี่ยนแปลง คำตอบของ Apidog คือ Public Scripts (สคริปต์สาธารณะ): ส่วนย่อยที่นำกลับมาใช้ใหม่ได้ที่คุณเขียนเพียงครั้งเดียวและแนบไว้ในที่ที่ต้องการ
สร้างสคริปต์ภายใต้ Settings (การตั้งค่า) > Public Scripts (สคริปต์สาธารณะ) จากนั้นเพิ่มลงในแท็บ Pre Processors หรือ Post Processors ของคำขอ ภายในรายการตัวประมวลผล Public Script และ Custom Script จะอยู่ข้างกัน และลำดับมีความสำคัญ: สคริปต์สาธารณะจะถูกรันก่อนสคริปต์ที่กำหนดเองในรายการเดียวกัน และหากคุณมีสคริปต์สาธารณะหลายรายการ พวกมันจะถูกรันตามลำดับที่ระบุไว้จากบนลงล่าง
มีข้อผิดพลาดทั่วไปหนึ่งจุดที่ผู้คนมักจะพลาดไป หากคุณต้องการให้ Custom Script เรียกใช้ฟังก์ชันที่กำหนดใน Public Script ฟังก์ชันนั้นจะต้องเป็นแบบ global การประกาศ function ปกติ หรือฟังก์ชันที่ผูกกับ const จะเป็นแบบ local สำหรับสคริปต์ของตัวเองและมองไม่เห็นจากสคริปต์ถัดไป ให้ประกาศโดยการกำหนดค่าโดยไม่มี var, let หรือ const:
// ใน Public Script: ทำให้ sign() เป็น global โดยการละเว้นคีย์เวิร์ด
sign = function (payload, secret) {
const CryptoJS = require('crypto-js');
return CryptoJS.HmacSHA256(payload, secret).toString(CryptoJS.enc.Hex);
};
// ใน Custom Script ด้านล่าง: เรียกใช้ฟังก์ชัน global ด้วยชื่อ
const timestamp = Math.floor(Date.now() / 1000).toString();
const secret = pm.environment.get('payments_api_secret');
pm.environment.set('x_timestamp', timestamp);
pm.environment.set('x_signature', sign(timestamp, secret));
เพิ่ม Public Script ก่อน จากนั้นใส่ Custom Script ไว้ด้านล่าง การเรียกใช้ก็จะทำงาน หากลำดับผิดพลาดหรือเพิ่ม const คุณจะได้รับข้อผิดพลาดฟังก์ชันไม่ถูกกำหนด
ไลบรารี, แพ็กเกจภายนอก และการดีบัก
การนำเข้า crypto-js ข้างต้นเป็นหนึ่งในชุดไลบรารีที่ Apidog รวมมาให้โดยไม่ต้องตั้งค่า คุณสามารถ require() ไลบรารีใดๆ เหล่านี้ได้โดยตรง:
crypto-js(v3.1.9-1) สำหรับการแฮชและ HMACjsrsasign(v10.3.0) สำหรับ JWT และ RSA ซึ่งต้องใช้ Apidog 1.4.5 หรือใหม่กว่าchai(v4.2.0) สำหรับตัวจับคู่ assertionlodash,moment,uuid,xml2js,cheerio,postman-collection,atob,btoa,csv-parse/lib/sync,tv4,ajv- Node built-ins เช่น
path,assert,buffer,util,url,querystring,streamและevents
หากคุณต้องการสิ่งที่ไม่อยู่ในรายการนั้น ให้ดึงเข้ามาในระหว่างรันไทม์ด้วย $$.liveRequire() ซึ่งจะดึงแพ็กเกจมาใช้งานทันที:
$$.liveRequire('nanoid', (nanoid) => {
const id = nanoid.nanoid();
pm.environment.set('request_id', id);
});
เส้นทางนั้นต้องมีการเชื่อมต่ออินเทอร์เน็ต เนื่องจาก Apidog จะดาวน์โหลดแพ็กเกจเมื่อสคริปต์ทำงาน ไลบรารีที่มาพร้อมเครื่องไม่จำเป็นต้องใช้
เมื่อสคริปต์ทำงานผิดปกติ ให้ใช้การล็อกเพื่อแก้ปัญหา ทั้ง pm.console.log() และ console.log() แบบธรรมดาจะพิมพ์ไปยังคอนโซลของ Apidog คุณจึงสามารถดูค่าลายเซ็นที่คำนวณได้หรือฟิลด์ที่ถูกดึงออกมา เพื่อดูว่าสคริปต์สร้างอะไรขึ้นมาบ้างก่อนที่คำขอจะถูกส่งออกไปหรือหลังจากที่ได้รับคืน
มีข้อจำกัดอีกสองประการที่ควรทราบเพื่อที่คุณจะได้ไม่ประหลาดใจ pm.sendRequest() สำหรับการเรียกใช้ HTTP เพิ่มเติมภายในสคริปต์ จะใช้รูปแบบ callback แทนที่จะเป็น Promises ดังนั้นให้เขียนด้วย callback ไม่ใช่ await และ pm.nextRequest() ของ Postman สำหรับการเชื่อมโยงคำขอไม่ได้รับการสนับสนุนที่นี่ หากคุณต้องการการจัดลำดับงานที่แท้จริง พร้อมด้วยการแตกแขนงและขั้นตอนตามเงื่อนไข Apidog จะใช้ Test Scenarios (สถานการณ์การทดสอบ) แทน ซึ่งคุณสามารถจัดลำดับคำขอด้วยภาพด้วยขั้นตอน Condition และ If-Else หากคุณเขียนสคริปต์บ่อยครั้ง Apidog Script Generator ที่มาพร้อมเครื่องยังสามารถร่างสคริปต์จากคำอธิบายที่เป็นภาษาธรรมชาติเพื่อให้คุณมีจุดเริ่มต้นได้
ทำให้เวิร์กโฟลว์เป็นอัตโนมัติด้วย Apidog CLI
สคริปต์ไม่ได้ทำงานเฉพาะเมื่อคุณคลิก Send เท่านั้น เมื่อคุณรวมคำขอและการยืนยันของคุณเข้าด้วยกันใน Test Scenario ที่บันทึกไว้ Apidog CLI จะรันสถานการณ์ทั้งหมดนั้นโดยไม่มี UI โดยรวม Pre Processors และ Post Processors เข้าไปด้วย ซึ่งเป็นสิ่งที่ทำให้ตรรกะการลงนามและการดึงโทเค็นของคุณเป็นส่วนหนึ่งของ CI แทนที่จะเป็นขั้นตอนที่ต้องทำด้วยตนเอง
npm install -g apidog-cli
apidog login --with-token <YOUR_ACCESS_TOKEN>
apidog run --access-token $APIDOG_ACCESS_TOKEN -t <SCENARIO_ID> -e <ENV_ID> -r cli
แฟล็ก -t คือ ID ของสถานการณ์การทดสอบ (test scenario id), -e คือ ID ของสภาพแวดล้อม (environment id) และ -r เลือกตัวรายงาน (cli, html, หรือ junit โดยใช้เครื่องหมายคอมมาคั่นสำหรับหลายตัว) สร้าง access token ในการตั้งค่าบัญชี Apidog ของคุณ ส่งออกเป็น APIDOG_ACCESS_TOKEN และสถานการณ์เดียวกันที่ทำงานบนเดสก์ท็อปของคุณก็จะทำงานใน CI โดยรวม Pre Processors และ Post Processors เข้าไปด้วย
ข้อควรระวังอย่างหนึ่ง: สคริปต์ที่พึ่งพาสิ่งที่มีอยู่เฉพาะในเครื่องของคุณ เช่น ไฟล์ในเครื่องหรือแพ็กเกจที่คุณเคยโหลดไว้ สามารถทำงานได้ในแอปพลิเคชันบนเดสก์ท็อป แต่ล้มเหลวใน CLI ได้ เนื่องจากตัวรันไม่มี dependency นั้น ให้จำกัดสคริปต์ให้อยู่ในไลบรารีที่มาพร้อมเครื่อง หรือใช้ $$.liveRequire() เพื่อให้ทำงานได้เหมือนกันทุกที่
คำถามที่พบบ่อย
สคริปต์ Apidog เข้ากันได้กับสคริปต์ Postman ที่มีอยู่ของฉันหรือไม่?
ส่วนใหญ่แล้วใช่ เอนจินของ Apidog ใช้ pm object API แบบเดียวกัน ดังนั้น pm.environment.set(), pm.response.json(), pm.test() และ pm.expect() ล้วนทำงานในแบบที่คุณคุ้นเคย ความแตกต่างสองประการที่ต้องจำคือชื่อแท็บ, Pre Processors และ Post Processors แทนที่จะเป็น Pre-request Script และ Tests และการเรียกใช้บางอย่างที่ไม่รองรับ เช่น pm.nextRequest() สคริปต์ส่วนใหญ่สามารถคัดลอกมาวางและรันได้
ทำไม pm.response จึงคืนค่า undefined ในสคริปต์ pre-request ของฉัน?
เพราะยังไม่มีการตอบกลับ Pre Processors ทำงานก่อนที่จะส่งคำขอ ดังนั้นจึงไม่มีอะไรกลับมาให้ตรวจสอบ โค้ดใดๆ ที่อ่าน pm.response (สถานะ, เนื้อหา, ส่วนหัว) ควรอยู่ใน Post Processor หากคุณต้องการค่าในขั้นตอน pre-request ให้ ดึงมาจาก pm.request, ตัวแปร หรือไลบรารีแทน
ฉันจะแชร์สคริปต์เดียวกับหลายคำขอได้อย่างไร?
ใช้ Public Scripts ภายใต้ Settings (การตั้งค่า) > Public Scripts (สคริปต์สาธารณะ) เขียนตรรกะเพียงครั้งเดียว แนบเข้ากับแท็บ Pre Processors หรือ Post Processors ของแต่ละคำขอ และจำไว้ว่าสคริปต์สาธารณะจะรันก่อนสคริปต์ที่กำหนดเองในรายการเดียวกัน หากต้องการเรียกฟังก์ชัน Public Script จาก Custom Script ให้ประกาศเป็น global โดยการกำหนดค่าโดยไม่มี var, let หรือ const
ฉันสามารถนำเข้าแพ็กเกจ npm ที่ Apidog ไม่ได้รวมมาด้วยได้หรือไม่?
ได้ ด้วย $$.liveRequire('package-name', (pkg) => { ... }) ซึ่งจะดาวน์โหลดแพ็กเกจในระหว่างรันไทม์และต้องใช้การเชื่อมต่ออินเทอร์เน็ต สำหรับสิ่งใดก็ตามที่อยู่ในรายการที่มาพร้อมเครื่อง เช่น crypto-js, moment หรือ uuid ให้ใช้ require() แบบธรรมดาโดยไม่ต้องใช้เครือข่าย โปรดทราบว่าคุณสามารถ require ได้เฉพาะโมดูลทั้งหมดเท่านั้น ไม่ใช่พาธของซับโมดูล
ฉันจะดูสิ่งที่สคริปต์ของฉันพิมพ์ออกมาได้ที่ไหน?
ใช้ pm.console.log() หรือ console.log() และอ่านผลลัพธ์ในคอนโซลของ Apidog หลังจากที่คุณส่งคำขอ เป็นวิธีที่เร็วที่สุดในการยืนยันว่ามีการคำนวณลายเซ็นหรือมีการดึงโทเค็นออกมา ก่อนที่คุณจะเชื่อถือมันในสถานการณ์จำลอง
สรุป
Pre Processors และ Post Processors เปลี่ยนคำขอแบบคงที่ให้กลายเป็นคำขอที่เตรียมตัวเองและตรวจสอบการทำงานของตัวเอง ลงนามก่อนส่ง ดึงข้อมูลและยืนยันหลังจากได้รับ และย้ายตรรกะที่ใช้ร่วมกันไปยัง Public Scripts เพื่อให้คุณเขียนเพียงครั้งเดียว pm API และไลบรารีที่มาพร้อมเครื่องหมายความว่าสิ่งที่คุณรู้ส่วนใหญ่จาก Postman สามารถนำมาใช้ได้โดยตรง เปิด Apidog เลือกคำขอใดก็ได้ และเพิ่ม Custom Script แรกของคุณเพื่อดูทั้งสองขั้นตอนทำงานในการส่งครั้งเดียว เริ่มต้นใช้งานได้ฟรี ไม่ต้องใช้บัตรเครดิต
