ทดลองอัตโนมัติอีกครั้ง

การทดสอบอาจล้มเหลวด้วยเหตุผลใดก็ตาม และบางครั้งเพียงแค่ทำการทดสอบอีกครั้ง ทำให้ผ่านอีกรอบได้ (เนื่องจากความไม่สม่ำเสมอ เช่น จากปัญหาใน ) คุณกำหนดค่า Tradefed เพื่อดำเนินการลองอีกครั้งได้ โดยอัตโนมัติ

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

Tradefed ยังรองรับการทดสอบหลายครั้งเพื่อตรวจหา ความไม่สม่ำเสมอผ่านฟีเจอร์การทำซ้ำ ในกรณีนี้ การทดสอบทั้งหมดจะ ทำใหม่ และการทดสอบจะล้มเหลวหากการดำเนินการซ้ำล้มเหลว

เปิดใช้การลองอีกครั้งโดยอัตโนมัติ

การลองอีกครั้งโดยอัตโนมัติมีการควบคุมผ่าน ออบเจ็กต์ Retry Decision ซึ่งมี 2 ตัวเลือกในการเปิดใช้ฟีเจอร์นี้ ได้แก่ max-testcase-run-count และ retry-strategy

max-testcase-run-count เพิ่มจำนวนการลองใหม่หรือการทำซ้ำที่จะ ได้ ซึ่งเป็นการกำหนดขอบเขตสูงสุดเพื่อป้องกันการลองอีกครั้งตลอดไป retry-strategy เป็นผู้ตัดสินใจเกี่ยวกับวิธีลองอีกครั้ง โปรดดูส่วนต่อไปนี้ เพื่อดูรายละเอียดเพิ่มเติม

ปิดใช้การลองอีกครั้งโดยอัตโนมัติ

ใช้ตัวเลือกต่อไปนี้

--retry-strategy NO_RETRY

ลองอีกครั้งที่ไม่สำเร็จ

หากต้องการลองทดสอบที่ไม่สำเร็จอีกครั้ง ให้ใช้ตัวเลือกต่อไปนี้

--retry-strategy RETRY_ANY_FAILURE --max-testcase-run-count X

การดำเนินการนี้จะลองดำเนินการไม่สำเร็จอีกครั้งจนกว่าจะผ่านหรือจนกว่าจะครบจำนวนสูงสุดในการลองใหม่ ขึ้นอยู่กับว่ากรณีใดจะเกิดขึ้นก่อน

การทำซ้ำ

หากต้องการดำเนินการทดสอบอีกครั้งตามเวลาที่กำหนด ให้ใช้ตัวเลือกต่อไปนี้

--retry-strategy ITERATIONS --max-testcase-run-count X

ผลการค้นหาเป็นอย่างไร

โดยค่าเริ่มต้น ผู้รายงานผลลัพธ์จะได้รับผลลัพธ์แบบรวมของความพยายามทั้งหมด

ตัวอย่างเช่น Fail และ Pass สำหรับ RETRY_ANY_FAILURE จะส่งผลให้ค่า รวม Pass นับตั้งแต่มีการลองอีกครั้งเพื่อล้างความล้มเหลว

ผู้รายงานอาจได้รับผลลัพธ์ที่ไม่มีการรวบรวมข้อมูล โดยดำเนินการดังนี้ ที่ต้องการขยาย อินเทอร์เฟซ ISupportGranularResults ที่ประกาศการรองรับผลลัพธ์แบบละเอียด (ไม่มีการรวม)

รายละเอียดการใช้งาน

หากต้องการเปิดใช้การลองซ้ำอัตโนมัติเพื่อเรียกใช้ข้อผิดพลาดอีกครั้งในระดับกรอบการทดสอบ ให้ใช้ ITestFilterReceiver

หากติดตั้งใช้งาน ITestFilterReceiver ไม่ได้ คุณสามารถใช้ IAutoRetriableTest เพื่อควบคุมวิธีทำงานซ้ำด้วยตนเอง InstalledInstrumentationsTest เป็นตัวอย่างการติดตั้งใช้งานอินเทอร์เฟซดังกล่าว