วิธีรัน API Tests ใน CI ด้วย apidog run

ข้อมูลอ้างอิงฉบับเต็มสำหรับคำสั่ง apidog run: อธิบายทุกแฟล็ก รีพอร์ตเตอร์ และตัวเลือก พร้อมตัวอย่างที่สามารถคัดลอกและนำไปใช้ได้สำหรับการรันการทดสอบ API ใน CI

INEZA Felin-Michel

INEZA Felin-Michel

16 June 2026

วิธีรัน API Tests ใน CI ด้วย apidog run

enterprise.banner.title

enterprise.banner.feature1

enterprise.banner.feature2

enterprise.banner.feature3

enterprise.banner.ctaB

คุณคัดลอกคำสั่งจากแท็บ CI/CD วางลงในไปป์ไลน์ และมันก็ทำงานได้ดี แต่แล้วเพื่อนร่วมทีมก็ถามว่าทำไมบิลด์ยังขึ้นสีเขียวในเมื่อการทดสอบล้มเหลวอย่างชัดเจน หรือคุณสามารถชี้การรันเดียวกันไปที่ staging แทน production ได้หรือไม่ หรือจะเรียกใช้รายงานที่แดชบอร์ด CI ของคุณจะแยกวิเคราะห์ได้อย่างไร ทันใดนั้น คำสั่งบรรทัดเดียวก็ไม่เพียงพอ คุณจำเป็นต้องรู้ว่าทุกส่วนของมันทำอะไร

apidog run คือคำสั่งเดียวที่เป็นหัวใจของตัวรันบรรทัดคำสั่ง Apidog มันจะดำเนินการสถานการณ์ทดสอบ API ที่คุณสร้างไว้ใน Apidog แบบ Headless จากเทอร์มินัล โดยไม่มี GUI และไม่มีมนุษย์คลิกปุ่ม ทุกสิ่งที่ตัวรันสามารถทำได้ มันทำผ่านแฟล็กบนคำสั่งเดียวนี้: สถานการณ์ที่จะรัน, สภาพแวดล้อมที่จะเรียกใช้, จำนวนครั้งที่จะวนซ้ำ, รายงานที่จะสร้าง, และอะไรนับเป็นการล้มเหลว เรียนรู้ส่วนของแฟล็กเพียงครั้งเดียว คุณก็จะหยุดการคัดลอก-วางแบบไม่เข้าใจ

button

apidog run คืออะไร

Apidog CLI มาในรูปแบบแพ็คเกจ npm ที่ชื่อว่า apidog-cli คุณติดตั้งครั้งเดียวคุณจะได้ไบนารีเดียวคือ apidog ซึ่งมีคำสั่งย่อยหลักคือ run คำสั่งย่อยนี้จะนำสถานการณ์ทดสอบ Apidog ของคุณไปหนึ่งรายการและรันมันในแบบที่แอปพลิเคชันเดสก์ท็อปทำ จากนั้นจะรายงานผลกลับมาพร้อมกับ exit code และไฟล์รายงานใดๆ ที่คุณร้องขอ

ติดตั้งแบบโกลบอล:

npm install -g apidog-cli

ยืนยันว่าแก้ไขแล้ว:

apidog -v

สิ่งที่ต้องเข้าใจก่อนจะถึงแฟล็กคือ apidog run ทำงานกับอะไร มันไม่ได้กำหนดรูปแบบการทดสอบของตัวเอง การทดสอบคือสถานการณ์ที่คุณสร้างขึ้นในแอป Apidog: คำขอที่เชื่อมโยงกัน, การยืนยัน, ค่าที่ดึงมาจากคำตอบหนึ่งไปยังอีกคำตอบหนึ่ง, การวนซ้ำตามข้อมูล (data-driven) ที่เป็นทางเลือก CLI จะเข้าถึงโปรเจกต์ของคุณ ค้นหาสถานการณ์ด้วย ID และรันมัน ดังนั้นแฟล็กส่วนใหญ่จึงเกี่ยวกับการบอกตัวรันว่าจะดึงอะไรมาและทำงานอย่างไรในขณะที่รัน ไม่ใช่เกี่ยวกับการเขียนการทดสอบในบรรทัดคำสั่ง

คำสั่งจริงที่น้อยที่สุดมีลักษณะดังนี้:

apidog run --access-token $APIDOG_ACCESS_TOKEN -t 605067 -e 1629989 -n 1 -r html,cli

นั่นหมายความว่า: รับรองความถูกต้องด้วยโทเค็นนี้, รันสถานการณ์ทดสอบ 605067, กับสภาพแวดล้อม 1629989, หนึ่งครั้ง, และสร้างรายงาน HTML พร้อมกับเอาต์พุตเทอร์มินัลที่อ่านได้ ทุกแฟล็กในบรรทัดนั้นมีคำอธิบายด้านล่าง พร้อมกับแฟล็กที่คำสั่งนั้นละเว้นไป

ภาพรวมตัวเลือกทั้งหมด

นี่คือชุดตัวเลือกทั้งหมดที่จัดกลุ่มตามหน้าที่ ใช้เป็นตารางอ้างอิง ส่วนที่อยู่ถัดจากนี้จะอธิบายตัวเลือกที่ต้องการคำอธิบายมากกว่าหนึ่งประโยค

กลุ่ม แฟล็ก อาร์กิวเมนต์ สิ่งที่ควบคุม
เลือก -t, --test-scenario <testScenarioId> รันสถานการณ์เดียวด้วย ID
เลือก -f, --test-scenario-folder <folderId> รันทุกสถานการณ์ในโฟลเดอร์
เลือก --test-suite <testSuiteId> รัน Test Suite ด้วย ID
เลือก --project <projectId> โปรเจกต์ที่สถานการณ์เป็นส่วนหนึ่ง
เลือก --branch <branchName> รันกับ Branch (ค่าเริ่มต้นคือ main)
การยืนยันตัวตน --access-token <accessToken> ยืนยันตัวตนการรัน; ต้องมีเมื่อออนไลน์
สภาพแวดล้อม -e, --environment <environmentId> สภาพแวดล้อมที่จะกำหนดเป้าหมาย
วนซ้ำ -n, --iteration-count <n> รันสถานการณ์ n ครั้ง
วนซ้ำ -d, --iteration-data <path> ขับเคลื่อนการวนซ้ำจากไฟล์ JSON หรือ CSV
วนซ้ำ --variables <path> โหลดตัวแปรจากไฟล์ภายใน
วนซ้ำ --global-var <value> ตั้งค่าตัวแปร Global แบบอินไลน์, key=value
วนซ้ำ --env-var <value> แทนที่ตัวแปรสภาพแวดล้อมแบบอินไลน์, key=value
รายงาน -r, --reporters [reporters] รูปแบบรายงาน: cli, html, json, junit
รายงาน --out-dir <outDir> ที่ที่รายงานจะถูกเขียน
รายงาน --out-file <outFile> ชื่อไฟล์รายงาน พร้อมตัวยึดชื่อ
รายงาน --out-json-failures-separated <value> เขียนข้อผิดพลาดไปยังไฟล์ JSON แยกต่างหาก
รายงาน --upload-report [value] อัปโหลดภาพรวมรายงานไปยัง Apidog cloud
ข้อผิดพลาด --on-error <behavior> ignore, continue, หรือ end เมื่อเกิดข้อผิดพลาด
ข้อผิดพลาด --ignore-redirects ไม่ติดตามการเปลี่ยนเส้นทาง HTTP
ข้อผิดพลาด --delay-request [n] รอ n มิลลิวินาทีระหว่างคำขอ
ข้อผิดพลาด --timeout-request [n] หมดเวลาต่อคำขอเป็นมิลลิวินาที
ข้อผิดพลาด --timeout-script [n] หมดเวลาการรันสคริปต์เป็นมิลลิวินาที
TLS -k, --insecure ปิดใช้งานการยืนยันใบรับรอง SSL
TLS --ssl-client-cert <path> ใบรับรองไคลเอ็นต์ (PEM)
TLS --ssl-client-key <path> คีย์ส่วนตัวสำหรับใบรับรองไคลเอ็นต์
TLS --ssl-client-passphrase <passphrase> รหัสผ่านสำหรับใบรับรองไคลเอ็นต์
TLS --ssl-client-cert-list <path> การกำหนดค่าแมปใบรับรองไปยังโฮสต์
TLS --ssl-extra-ca-certs <path> ใบรับรอง CA ที่เชื่อถือได้เพิ่มเติม
เอาต์พุต --verbose พิมพ์รายละเอียดคำขอและคำตอบทั้งหมด
เอาต์พุต --silent ระงับเอาต์พุตคอนโซล
เอาต์พุต --color <value> บังคับให้มีหรือไม่มีเอาต์พุตสี
เอาต์พุต --external-program-path <path> ไฟล์โปรแกรมภายนอกสำหรับตรรกะที่กำหนดเอง
เอาต์พุต --database-connection <path> การกำหนดค่าฐานข้อมูลสำหรับขั้นตอนที่สอบถาม DB
เอาต์พุต --preferred-http-version <version> เวอร์ชันโปรโตคอล HTTP ที่ต้องการ
เอาต์พุต -b, --bigint เปิดใช้งาน BigInt สำหรับค่าตัวเลขขนาดใหญ่
เอาต์พุต --lang <language> ภาษา CLI
เอาต์พุต -h, --help พิมพ์ความช่วยเหลือ

ชื่อแฟล็กและค่าเริ่มต้นสามารถเปลี่ยนแปลงได้ระหว่างการเปิดตัว CLI หากไม่แน่ใจ ตัวรันคือแหล่งความจริงของตัวเอง: รัน apidog run --help บนเวอร์ชันที่คุณติดตั้งและเชื่อถือสิ่งนั้นมากกว่าบทความใดๆ รวมถึงบทความนี้ด้วย

การเลือกสิ่งที่จะรัน

แฟล็กสามตัวจะกำหนดขอบเขตของการรัน และคุณเลือกได้เพียงหนึ่งตัวต่อคำสั่ง

-t, --test-scenario <id> รันสถานการณ์เดียว นี่คือกรณีประจำวัน: การทดสอบ smoke test ที่เน้นเฉพาะจุด, สถานการณ์การถดถอยหนึ่งรายการ, สิ่งเดียวที่คุณต้องการให้เป็นเงื่อนไขใน pull request

-f, --test-scenario-folder <id> รันทุกสถานการณ์ภายในโฟลเดอร์ ใช้สิ่งนี้เมื่อคุณจัดระเบียบพื้นที่คุณลักษณะเป็นโฟลเดอร์และต้องการให้กลุ่มทั้งหมดถูกรันเป็นงานเดียว เช่น การตรวจสอบการถดถอยรายคืน

--test-suite <id> รัน test suite ที่คัดสรรมา ซึ่งเป็นชุดของสถานการณ์ที่คุณรวบรวมไว้เพื่อรันพร้อมกันเป็นหน่วยตรรกะเดียว Test Suite เป็นเครื่องมือที่เหมาะสมเมื่อสถานการณ์ที่คุณต้องการไม่ได้อยู่ในโฟลเดอร์เดียวกันทั้งหมด แต่ยังคงเป็นส่วนหนึ่งของ test pass เดียวกัน

ตัวเลือกอีกสองตัวช่วยปรับปรุงว่าตัวรันมองหาที่ไหน --project <id> ระบุโปรเจกต์ที่สถานการณ์อยู่ ซึ่งมีประโยชน์เมื่อโทเค็นของคุณมีสิทธิ์เข้าถึงมากกว่าหนึ่งโปรเจกต์ --branch <name> รันสถานการณ์ตามที่มีอยู่ใน branch ที่ระบุ แทนที่จะเป็น main ซึ่งช่วยให้คุณสามารถตรวจสอบการเปลี่ยนแปลงการทดสอบบน feature branch ก่อนที่จะรวมเข้าด้วยกัน

# หนึ่งสถานการณ์
apidog run --access-token $APIDOG_ACCESS_TOKEN -t 605067 -e 1629989 -r cli

# โฟลเดอร์ทั้งหมด
apidog run --access-token $APIDOG_ACCESS_TOKEN -f 88012 -r html,junit

# ชุดที่คัดสรรมา
apidog run --access-token $APIDOG_ACCESS_TOKEN --test-suite 40231 -r junit

การยืนยันตัวตนการรัน

--access-token <token> เป็นแฟล็กเดียวที่ทุกการรันออนไลน์ต้องการ มันพิสูจน์ว่าการรันได้รับอนุญาตให้ดึงและดำเนินการสถานการณ์ของคุณ คุณสร้างโทเค็นภายในแท็บ CI/CD ของสถานการณ์ทดสอบใน Apidog ซึ่งแอปจะสร้างคำสั่ง apidog run ให้คุณพร้อมกับ ID สถานการณ์และ ID สภาพแวดล้อมที่กรอกไว้แล้ว

ปฏิบัติต่อโทเค็นเหมือนรหัสผ่าน อย่าคัดลอกไปวางในไฟล์ไปป์ไลน์ที่คอมมิตแล้วหรือสคริปต์ที่ใช้ร่วมกัน เก็บไว้เป็นความลับในระบบ CI ของคุณและส่งผ่านตัวแปรสภาพแวดล้อม ซึ่งเป็นเหตุผลว่าทำไมทุกตัวอย่างในที่นี้จึงอ้างอิง $APIDOG_ACCESS_TOKEN แทนที่จะเป็นสตริงตามตัวอักษร หากโทเค็นรั่วไหล ให้สร้างใหม่จากแท็บ CI/CD เดิม และโทเค็นเก่าจะหยุดทำงาน

การกำหนดเป้าหมายสภาพแวดล้อมและการวนซ้ำ

แฟล็กสภาพแวดล้อมคือสิ่งที่ทำให้สถานการณ์เดียวสามารถใช้งานได้หลายวัตถุประสงค์ -e, --environment <id> ชี้การรันไปยังสภาพแวดล้อมที่เฉพาะเจาะจง ดังนั้นสถานการณ์เดียวกันสามารถตรวจสอบ staging ใน pull-request gate และ production ใน post-deploy smoke test ได้โดยที่คุณไม่ต้องทำซ้ำ หากคุณจัดการค่าต่างๆ ทั่วทั้งสภาพแวดล้อม คู่มือเกี่ยวกับ การจัดการสภาพแวดล้อมและความลับสำหรับไคลเอ็นต์ API จะครอบคลุมวิธีการไหลของค่าเหล่านั้น

-n, --iteration-count <n> รันสถานการณ์ n ครั้งติดต่อกัน มีประโยชน์สำหรับการตรวจสอบความเสถียรอย่างรวดเร็ว หรือสำหรับการทำซ้ำขั้นตอนที่ควรจะเป็น idempotent

-d, --iteration-data <path> คือแฟล็กที่ขับเคลื่อนด้วยข้อมูล ชี้ไปที่ไฟล์ JSON หรือ CSV และตัวรันจะดำเนินการสถานการณ์หนึ่งครั้งต่อแถว โดยถือว่าแต่ละแถวเป็นรอบของตัวเองพร้อมค่าอินพุตของตัวเอง นั่นคือวิธีที่คุณรันสถานการณ์การเข้าสู่ระบบหนึ่งครั้งสำหรับห้าสิบบัญชี หรือขั้นตอนการสร้างคำสั่งซื้อหนึ่งครั้งสำหรับตารางข้อมูล รูปแบบเชิงลึกอยู่ใน การทดสอบ API ที่ขับเคลื่อนด้วยข้อมูลด้วย CSV และ JSON

แฟล็กสามตัวจะแทรกค่าโดยไม่ต้องแก้ไขสถานการณ์ --variables <path> โหลดตัวแปรจากไฟล์ภายใน --global-var key=value ตั้งค่าตัวแปร Global แบบอินไลน์ --env-var key=value แทนที่ตัวแปรสภาพแวดล้อมเดียวสำหรับการรันนี้เท่านั้น สิ่งเหล่านี้มีประโยชน์ใน CI เมื่อค่า (URL ฐาน, feature flag) แตกต่างกันไปในแต่ละไปป์ไลน์และคุณไม่ต้องการสภาพแวดล้อมที่แยกต่างหากสำหรับแต่ละอัน หากตัวแปรใน Apidog เป็นเรื่องใหม่สำหรับคุณ การควบคุมตัวแปรใน Apidog จะอธิบายขอบเขต

# รันสถานการณ์ 50 ครั้งด้วย CSV ของอินพุต
apidog run --access-token $APIDOG_ACCESS_TOKEN -t 605067 -d ./accounts.csv -r junit

# แทนที่ตัวแปร env หนึ่งตัวสำหรับการรันนี้เท่านั้น
apidog run --access-token $APIDOG_ACCESS_TOKEN -t 605067 -e 1629989 --env-var baseUrl=https://staging.internal -r cli

Reporters: ทุกรูปแบบเอาต์พุตที่ apidog run สามารถสร้างได้

นี่คือกลุ่มที่ผู้คนค้นหามากที่สุด ดังนั้นนี่คือผู้รายงานแต่ละรายและวัตถุประสงค์ของมัน คุณเลือกได้ด้วย -r, --reporters และคุณสามารถส่งได้หลายตัวพร้อมกัน โดยคั่นด้วยเครื่องหมายจุลภาค ค่าเริ่มต้นคือ cli

cli พิมพ์สรุปที่อ่านง่ายไปยังเทอร์มินัล เป็นสิ่งที่มนุษย์สแกนในบันทึกการสร้างเพื่อดูจำนวนผ่าน/ไม่ผ่าน และการยืนยันใดที่เสียไป เปิดใช้งานไว้แม้กระทั่งกับรูปแบบของเครื่องจักร เพื่อให้บันทึกยังคงมีประโยชน์

html เขียนรายงาน HTML ที่รวมอยู่ในตัวเอง เก็บเป็นสิ่งประดิษฐ์การสร้างและเปิดในเบราว์เซอร์เพื่อดูการรันทั้งหมดพร้อมรายละเอียดคำขอและคำตอบ นี่คือรูปแบบที่คุณมอบให้กับผู้ที่ไม่ได้ดูไปป์ไลน์

junit สร้าง XML ในรูปแบบ JUnit มาตรฐาน แดชบอร์ด CI เกือบทั้งหมดรู้วิธีแยกวิเคราะห์ JUnit XML เป็นโครงสร้างผ่าน/ไม่ผ่าน แสดงข้อผิดพลาดในวิดเจ็ต merge-request และติดตามผลลัพธ์เมื่อเวลาผ่านไป หากคุณเลือกรูปแบบเครื่องจักรเพียงรูปแบบเดียวสำหรับ CI ให้เลือกรูปแบบนี้

json สร้างผลลัพธ์ที่มีโครงสร้างดิบ ใช้เมื่อคุณต้องการประมวลผลผลลัพธ์ด้วยตัวเอง: ส่งไปยังสคริปต์ ผลักดันเมตริกไปยังที่ใดที่หนึ่ง หรือสร้างสรุปที่กำหนดเอง

การรวมกันของ CI ทั่วไปคือ HTML สำหรับมนุษย์และ JUnit สำหรับแดชบอร์ด:

apidog run --access-token $APIDOG_ACCESS_TOKEN -t 605067 -r html,junit --out-dir ./apidog-reports

แฟล็กรายงานที่เหลือจะควบคุมตำแหน่งที่เอาต์พุตจะไปถึงและสิ่งที่เพิ่มเติม:

การควบคุมความล้มเหลว: การจัดการข้อผิดพลาดและรหัสออก

ตัวรันจะมีประโยชน์ในไปป์ไลน์ก็ต่อเมื่อมันบอกไปป์ไลน์ได้ว่าการทดสอบผ่านหรือไม่ apidog run ทำเช่นนี้ในแบบที่เครื่องมือบรรทัดคำสั่งที่ดีควรทำ: มันจะออก 0 เมื่อการยืนยันทุกอย่างผ่าน และรหัสที่ไม่ใช่ศูนย์เมื่อมีสิ่งใดผิดพลาด พฤติกรรมเดียวนี้คือคุณภาพโดยรวม CI จะอ่านรหัสออก ทำเครื่องหมายขั้นตอนว่าล้มเหลว และบล็อกการรวมหรือการปรับใช้ คุณไม่ต้องกำหนดค่าเกต; รหัสออกคือเกต

--on-error <behavior> กำหนดสิ่งที่เกิดขึ้นเมื่อขั้นตอนล้มเหลวกลางสถานการณ์ และมีสามค่า:

ไม่ว่าจะด้วยวิธีใด หากการยืนยันใดๆ ล้มเหลว การรันก็ยังคงจบลงด้วยรหัสที่ไม่ใช่ศูนย์ ดังนั้นเกตยังคงทำงานไม่ว่าคุณจะเลือกพฤติกรรมใด สิ่งหนึ่งที่ทำลายเกตอย่างเงียบๆ คือการห่อคำสั่งด้วยสิ่งที่จะกลืนรหัสออก เช่น การต่อท้าย || true ในเชลล์ อย่าทำเช่นนั้น การจบด้วยรหัสที่ไม่ใช่ศูนย์คือจุดประสงค์ทั้งหมด

แฟล็กสี่ตัวปรับแต่งพฤติกรรมคำขอระหว่างการรัน:

# smoke test: หยุดที่ความล้มเหลวแรก
apidog run --access-token $APIDOG_ACCESS_TOKEN -t 605067 -e 1629989 -r cli --on-error end

# regression: รันทุกอย่าง รวบรวมความล้มเหลวทั้งหมด
apidog run --access-token $APIDOG_ACCESS_TOKEN -f 88012 -r html,junit --on-error continue --out-dir ./nightly-reports

TLS และใบรับรอง

เมื่อคุณทดสอบปลายทางที่อยู่เบื้องหลัง Mutual TLS หรือ Certificate Authority ภายใน กลุ่มนี้คือวิธีที่คุณจะสร้างการเชื่อมต่อ

-k, --insecure ปิดใช้งานการยืนยันใบรับรอง SSL โดยสิ้นเชิง ใช้เฉพาะกับโฮสต์ภายในที่เชื่อถือได้ซึ่งมีใบรับรองที่ลงนามเองเท่านั้น อย่าชี้ไปที่สาธารณะเด็ดขาด เพราะมันจะปิดการตรวจสอบที่ป้องกันการเชื่อมต่อ

สำหรับ Mutual TLS ที่เหมาะสม ให้ระบุข้อมูลรับรองไคลเอ็นต์แทน: --ssl-client-cert <path> สำหรับใบรับรอง PEM, --ssl-client-key <path> สำหรับคีย์ส่วนตัว และ --ssl-client-passphrase <passphrase> หากคีย์ถูกเข้ารหัส เมื่อโฮสต์ที่แตกต่างกันต้องการใบรับรองที่แตกต่างกัน --ssl-client-cert-list <path> จะชี้ไปที่ไฟล์คอนฟิกที่แมปสิ่งเหล่านี้ และ --ssl-extra-ca-certs <path> เพิ่มใบรับรอง CA ที่เชื่อถือได้ ซึ่งเป็นการแก้ไขที่สะอาดสำหรับ CA chain ภายในที่ตัวรันอาจไม่รู้จัก มิฉะนั้นจะดีกว่าการใช้ -k

เอาต์พุตและการวินิจฉัย

กลุ่มสุดท้ายจะควบคุมสิ่งที่ตัวรันพิมพ์ออกมาและรายละเอียดการดำเนินการบางส่วน

--verbose พิมพ์คำขอและคำตอบทั้งหมดสำหรับทุกขั้นตอน นี่คือสิ่งที่คุณต้องทำเป็นอันดับแรกเมื่อสถานการณ์ผ่านในเครื่องแต่ล้มเหลวใน CI: มันแสดงไบต์ที่ตัวรันส่งและรับกลับมาอย่างแม่นยำ เพื่อให้คุณสามารถเปรียบเทียบกับสิ่งที่คุณส่งด้วยมือได้ --silent ทำสิ่งที่ตรงกันข้าม คือระงับเอาต์พุตคอนโซลสำหรับงานที่กำหนดเวลาไว้ที่มีเสียงดัง ซึ่งคุณสนใจเพียงแค่รหัสออกและรายงานที่บันทึกไว้ --color <value> บังคับให้มีหรือไม่มีเอาต์พุตสี ซึ่งมีประโยชน์เมื่อโปรแกรมดูบันทึก CI ทำให้รหัส ANSI ผิดเพี้ยน

ส่วนที่เหลือใช้สำหรับคุณสมบัติเฉพาะของสถานการณ์:

การรวบรวมเข้าด้วยกัน: คำสั่งที่คุณจะรันจริง

Smoke test กับ production ทันทีหลังจากการ Deploy, และล้มเหลวอย่างรวดเร็ว:

apidog run --access-token $APIDOG_ACCESS_TOKEN -t 605067 -e $PROD_ENV_ID -r cli --on-error end

Full nightly regression ในโฟลเดอร์, ทุกความล้มเหลวในรายงาน HTML และ JUnit หนึ่งฉบับ:

apidog run --access-token $APIDOG_ACCESS_TOKEN -f 88012 -r html,junit --on-error continue --out-dir ./nightly-reports

การรันที่ขับเคลื่อนด้วยข้อมูลผ่าน CSV, เอาต์พุตที่เครื่องอ่านได้สำหรับ CI:

apidog run --access-token $APIDOG_ACCESS_TOKEN -t 605067 -d ./test-cases.csv -r junit

ตรวจสอบการเปลี่ยนแปลงการทดสอบบน feature branch ก่อนที่จะรวมเข้าด้วยกัน:

apidog run --access-token $APIDOG_ACCESS_TOKEN -t 605067 --branch feature-payments -e 1629989 -r cli

แก้ไขข้อผิดพลาดที่เกิดขึ้นใน CI เท่านั้นโดยการดัมพ์รายละเอียดสายข้อมูล:

apidog run --access-token $APIDOG_ACCESS_TOKEN -t 605067 -e 1629989 -r cli --verbose

หากคุณกำลังรัน CLI บน CI runner ชั่วคราวและไม่อยากติดตั้งแบบ global ให้สลับการติดตั้งไปใช้ npx:

npx apidog-cli run --access-token $APIDOG_ACCESS_TOKEN -t 605067 -e 1629989 -r junit

นั่นครอบคลุมพื้นผิวเดียวกัน การเลือกระหว่างการติดตั้งแบบ global และ npx เกี่ยวข้องกับสุขอนามัยของ runner ไม่ใช่ความสามารถ ในการตั้งค่าสถานการณ์ที่ CLI รัน ดาวน์โหลด Apidog สร้างสถานการณ์หนึ่งในแอป จากนั้นคัดลอกคำสั่งที่สร้างขึ้นจากแท็บ CI/CD และกำหนดพารามิเตอร์โทเค็น

ฝึกการออกแบบ API แบบ Design-first ใน Apidog

ค้นพบวิธีที่ง่ายขึ้นในการสร้างและใช้ API