th

การทำงานอัตโนมัติ API กล่องจดหมายชั่วคราวที่เชื่อถือได้

สร้างการทดสอบการสมัครและรีเซ็ตรหัสผ่านที่กำหนดผลลัพธ์ได้อย่างแน่นอนด้วยที่อยู่ที่ไม่ซ้ำกัน, การโพลแบบจำกัด, การจับคู่ข้อความที่แม่นยำ, การจัดการคีย์อย่างปลอดภัย, และหลักฐานความล้มเหลวที่เป็นประโยชน์

17 ก.ค. 2569

ลูปอัตโนมัติแบบกะทัดรัดสำหรับการสร้าง, รับ, ตรวจสอบ, และทำความสะอาดกล่องจดหมาย

เวอร์ชันที่ไม่น่าเชื่อถือของการทดสอบอีเมลสั้นมาก: สร้างที่อยู่, พัก 5 วินาที, อ่านข้อความแรก, แล้วหวังว่าข้อความนั้นเป็นของการรันนี้

เวอร์ชันที่เชื่อถือได้ยังคงง่าย แต่ถือว่าการส่งเมลเป็นแบบอะซิงโครนัส มันสร้างที่อยู่ที่ไม่ซ้ำกัน, บันทึกเวลาเริ่มต้น, โพลภายในกำหนดเวลา, จับคู่ข้อความที่ต้องการ, ตรวจสอบการกระทำของผลิตภัณฑ์, และรายงานบริบทที่เพียงพอเมื่อมีบางอย่างล้มเหลว

อย่าใส่คีย์ API ลงใน URL

ส่งคีย์ GPTMail ในส่วนหัว X-API-Key อย่าใส่ลงในพารามิเตอร์ query ?api_key= URL มักถูกบันทึกในประวัติการท่องเว็บ, บันทึกการเข้าถึง, ระบบมอนิเตอร์, และข้อมูล referrer

X-API-Key: YOUR_API_KEY

เก็บคีย์ไว้ในตัวจัดการความลับของ CI ของคุณและปิดบังในบันทึก คีย์สาธารณะประจำวันสะดวกสำหรับการสำรวจ; ชุดอัตโนมัติที่ควบคุมควรใช้คีย์ที่คุณสามารถติดตามโควต้าและการใช้งานได้

เอนด์พอยต์และตัวอย่างการตอบกลับปัจจุบันถูกดูแลที่ หน้าคำอธิบาย API ของ GPTMail

หนึ่งที่อยู่ต่อการทดสอบ

สร้างที่อยู่ใหม่สำหรับการทดสอบที่สามารถทำงานแยกกันได้ อย่าพึ่งพาความถูกต้องจากกล่องจดหมายที่ใช้ร่วมกันทั่วทั้งชุดทดสอบ

บันทึกที่อยู่, ID ของสถานการณ์, สภาพแวดล้อม, และเวลาเริ่มต้นของการทดสอบ ค่าต่าง ๆ นี้ช่วยให้คุณปฏิเสธข้อความเก่าและวินิจฉัยการชนกันโดยไม่ต้องบันทึกรหัสลับของข้อความ

โพลตามกำหนดเวลา, ไม่ใช่การหยุดค้างที่คงที่

เวลาในการส่งเมลแตกต่างกัน การหยุดค้าง 5 วินาทีคงที่จะเสียเวลาเมื่อส่งเร็วและทำให้ล้มเหลวเมื่อส่งช้า

ใช้ลูปที่จำกัด:

deadline = now + 90 seconds
delay = 2 seconds

while now < deadline:
  messages = list inbox
  candidate = newest message matching sender, subject, and start time
  if candidate exists:
    read candidate and continue the product test
  wait delay with a small random jitter
  delay = min(delay * 1.5, 10 seconds)

กำหนดเวลานี้เป็นสัญญาของการทดสอบ กระบวนการรีเซ็ตรหัสผ่านอาจต้องขีดจำกัดที่ต่างจากการพรีวิวจดหมายข่าวจำนวนมาก ให้ขีดจำกัดชัดเจนเพื่อให้การพึ่งพาที่ช้าไม่ขยายเวลางาน CI ทั้งหมดโดยเงียบ ๆ

จับคู่อย่างแม่นยำ

“ข้อความแรกในกล่องจดหมาย” ไม่ใช่ตัวเลือกที่มีประโยชน์ จับสัญญาณหลายอย่าง:

  • ผู้รับต้องตรงกับที่อยู่ที่สร้างสำหรับการรันนี้;
  • เวลาสร้างต้องหลังจากเวลาเรียกใช้งาน;
  • ผู้ส่งต้องเป็นบริการที่คาดหวัง;
  • หัวเรื่องหรือประเภทข้อความต้องตรงกับขั้นตอน;
  • ID ของข้อความต้องยังไม่ถูกใช้มาก่อน.

เมื่อผู้ส่งสามารถออกหลายโค้ด ให้เลือกข้อความที่ใหม่ที่สุดที่ตรงกัน เก็บ ID ของมันไว้ในผลลัพธ์ของการทดสอบเพื่อให้การลองใหม่ไม่ใช้ซ้ำโดยบังเอิญ

อ่านเฉพาะหลังจากจับคู่รายการ

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

ตรวจสอบผลลัพธ์ทางธุรกิจ ไม่ใช่แค่การมีสตริงหกหลัก ส่งโค้ดหรือเปิดลิงก์ที่คาดไว้ แล้วยืนยันว่าบัญชีเข้าสู่สถานะที่ถูกต้อง

จัดการข้อจำกัดอัตราการเรียกเป็นสัญญาณ

หาก API ส่งคืนการตอบสนองว่าถึงโควต้า หรืออัตราการเรียกจำกัด ให้หยุดการพยายามปัจจุบันและแสดงข้อมูลการรีเซ็ต การลองใหม่อย่างรุนแรงจะทำให้สัญญาณความจุที่ชัดเจนกลายเป็นสัญญาณรบกวนและอาจทำให้การทดสอบอื่นล่าช้า

จำกัดการทำงานพร้อมกันที่ตัวรันการทดสอบ โดยเฉพาะเมื่อชุดทดสอบสร้างหลายที่อยู่พร้อมกัน การใช้พูล worker เล็ก ๆ จะง่ายต่อการดีบักกว่าการมีลูปโพลหลายร้อยอันพร้อมกัน

ทำความสะอาดโดยไม่ซ่อนความล้มเหลว

การทำความสะอาดควรทำหลังจากจับหลักฐานแล้ว หากสำเร็จให้ลบข้อความหรือให้การเก็บรักษาระยะสั้นจัดการ หากล้มเหลวให้เก็บที่อยู่และ ID ของข้อความใน artifacts ของ CI ที่ได้รับการปกป้องนานพอสำหรับการสืบสวน แล้วจึงลบออก

ห้ามพิมพ์โค้ดยืนยัน, ลิงก์ส่วนตัว, หรือเนื้อหา HTML ทั้งหมดลงในบันทึกการสร้างสาธารณะ

ทำให้การลองใหม่เป็นแบบอิดิโมพอเทนท์

ลองทดสอบใหม่เป็นการรันใหม่พร้อมที่อยู่ใหม่ อย่าสมมติว่าการทำซ้ำคำขอเดียวกันต่อบัญชีและกล่องจดหมายเดียวกันจะเริ่มจากสถานะสะอาด ผู้ส่งอาจทำให้โค้ดเก่าไม่ใช้งาน, จำกัดอัตราการลองใหม่, หรือปฏิเสธคำเชิญซ้ำ

หากคำขอเครือข่ายหมดเวลา ให้แยก “ไม่ได้รับการตอบกลับ” กับ “การดำเนินการไม่ได้เกิดขึ้น” ตรวจสอบสถานะที่สังเกตได้ก่อนทำการลองใหม่ที่ทำลายข้อมูล

รายงานจุดที่เกิดความล้มเหลว

ความล้มเหลวของอัตโนมัติที่มีประโยชน์จะระบุหนึ่งในขั้นตอนต่อไปนี้:

  1. การสร้างที่อยู่ล้มเหลว;
  2. การกระทำของผลิตภัณฑ์ล้มเหลวก่อนที่อีเมลจะถูกคิว;
  3. ไม่พบข้อความที่ตรงกันก่อนกำหนดเวลา;
  4. ข้อความมาถึงแต่เนื้อหาไม่ตรง;
  5. การกระทำยืนยันล้มเหลว;
  6. การทำความสะอาดล้มเหลว.

การจัดประเภทนี้ทำให้ “การทดสอบอีเมลล้มเหลว” ที่เป็นเหตุการณ์สุ่มกลายเป็นงานที่ทีมสามารถรับผิดชอบได้

สำหรับเมทริกซ์การทดสอบที่ใหญ่ขึ้น อ่าน แผนการทดสอบอีเมลจริง สำหรับการวินิจฉัยการส่งเมล ใช้ อีเมลยืนยันไม่มาถึง: ค้นหาขั้นตอนที่เสีย.

GPTMail