การทดสอบอาจล้มเหลวด้วยเหตุผลใดก็ตาม และบางครั้งเพียงแค่ทำการทดสอบอีกครั้ง ทำให้ผ่านอีกรอบได้ (เนื่องจากความไม่สม่ำเสมอ เช่น จากปัญหาใน ) คุณกำหนดค่า 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 เป็นตัวอย่างการติดตั้งใช้งานอินเทอร์เฟซดังกล่าว