0.0.1-alpha16
รุ่นนี้รองรับชุดทดสอบ AGP, การปรับปรุงรายงานการทดสอบ HTML และการแก้ไขข้อบกพร่อง
- การผสานรวมชุดทดสอบ: เพิ่มการรองรับการเรียกใช้การทดสอบภาพหน้าจอตัวอย่าง Compose ด้วยชุดทดสอบปลั๊กอิน Android Gradle (AGP) ดูวิธีกำหนดค่าและเรียกใช้ชุดทดสอบภาพหน้าจอได้ที่ การทดสอบภาพหน้าจอด้วยชุดทดสอบ
- การปรับปรุงรายงานการทดสอบ HTML: เพิ่มการ์ดข้อมูลเมตาของส่วนหัวที่แสดงรายละเอียดกรณีทดสอบ (ชื่อ เมธอด ตัวอย่าง ตัวแปร ชุดทดสอบ และป้ายสถานะ) และกล่องสรุปข้อผิดพลาดที่จัดหมวดหมู่ความล้มเหลว (เช่น ไม่มีรูปภาพอ้างอิงหรือมิติข้อมูลไม่ตรงกัน) พร้อมฟังก์ชันคัดลอกไปยังคลิปบอร์ดอย่างรวดเร็ว
- ความแตกต่างของภาพแบบไดนามิก: ตอนนี้ความแตกต่างของภาพใช้การไล่ระดับสีแบบต่อเนื่องตั้งแต่ ไฮไลต์ที่ละเอียดอ่อนสำหรับการเลื่อนพิกเซลเล็กน้อยไปจนถึงการเน้นที่มีคอนทราสต์สูงสำหรับความแตกต่างที่สำคัญ เพื่อป้องกันไม่ให้การเปลี่ยนแปลงของคอมโพเนนต์ที่ซ้อนกันถูกบดบัง
นอกจากนี้ รุ่นนี้ยังมีการแก้ไขข้อบกพร่องต่อไปนี้ด้วย
| ปัญหา | คำอธิบาย |
|---|---|
| ปัญหา #513276596 | ช่วยให้มั่นใจว่าข้อผิดพลาดในการแสดงผล Layoutlib จะทำให้การทดสอบภาพหน้าจอไม่สำเร็จทันทีแทนที่จะไม่สำเร็จอย่างเงียบๆ หรือสร้างรูปภาพอ้างอิงที่ว่างเปล่า |
0.0.1-alpha15
รุ่นนี้มีการแก้ไขข้อบกพร่องต่อไปนี้
| ปัญหา | คำอธิบาย |
|---|---|
| ปัญหา #500417360 | แก้ไขข้อขัดข้องในการเริ่มต้น (NoClassDefFoundError) เมื่อเรียกใช้ตัวอย่างด้วย Kotlin 2.1 ขึ้นไปเนื่องจากไม่มีการขึ้นต่อกัน kotlin-stdlib ในตัวโหลดคลาสที่แยกต่างหากของเฟรมเวิร์ก Layoutlib |
| ปัญหา #384188032 | แก้ไขข้อขัดข้องในการแสดงผลเมื่อขยายออบเจ็กต์ ViewHolder ภายในโรงงาน Composable AndroidView |
| ปัญหา #351302272 | แก้ไขการโหลดทรัพยากร Drawable ที่ล้มเหลวภายในตัวอย่างที่ทรัพยากรอยู่ในโมดูลโปรเจ็กต์ที่ขึ้นต่อกันหรืออยู่ในระดับเดียวกัน |
| ปัญหา #482664893 | ตรวจสอบว่างานตรวจสอบล้มเหลวอย่างเหมาะสมเมื่อการทดสอบภาพหน้าจอทำให้เกิดข้อยกเว้น แทนที่จะสำเร็จอย่างไม่ถูกต้องด้วยภาพหน้าจอที่ล้าสมัย |
| ปัญหา #497675618 | การวัดประสิทธิภาพของคลาสที่คอมโพสได้ที่เครื่องมือรองรับโดยเอเจนต์ความครอบคลุมของ JVM (เช่น JaCoCo) |
| ปัญหา #498545960 | นำชื่อไฟล์ภายในที่ถูกลบออก (เช่น ImageVerifier.kt) ออกจากสแต็กเทรซข้อผิดพลาดของคอนโซล JUnit เพื่อให้เอาต์พุตการแก้ไขข้อบกพร่องชัดเจนยิ่งขึ้น |
| ปัญหา #385613865 | นำการใช้เส้นทางแบบสัมบูรณ์สำหรับรูปภาพในไฟล์ XML ผลการทดสอบออก แล้วแทนที่ด้วยเส้นทางแบบสัมพัทธ์ |
| ปัญหา #513276596 | ตรวจสอบว่าการแสดงผลล้มเหลวจะทำให้งานทดสอบภาพหน้าจอล้มเหลวอย่างถูกต้อง แทนที่จะผ่านไปอย่างเงียบๆ พร้อมกับภาพหน้าจอว่างเปล่า |
| ปัญหา #340639802 | แก้ไขความขัดแย้งด้านความละเอียดของวิธีการแสดงตัวอย่างที่แก้ไขแล้ว ซึ่งการทดสอบจับคู่กับชื่อวิธีการที่มีคุณสมบัติครบถ้วนในแหล่งที่มาหลักอย่างไม่ถูกต้อง |
0.0.1-alpha14
รุ่นนี้มีการแก้ไขข้อบกพร่องและปรับปรุงประสิทธิภาพดังต่อไปนี้
| ปัญหา | คำอธิบาย |
|---|---|
| ปัญหา #469819154 | แก้ไขปัญหาหน่วยความจำรั่วไหลในตัวแสดงผล Compose |
| issue #470058578 | แก้ไขปัญหา UI ค้างและข้อผิดพลาดเกี่ยวกับหน่วยความจำเมื่ออัปเดตรูปภาพอ้างอิง |
| ปัญหา #422412664 | แก้ไขข้อผิดพลาด "บรรทัดคำสั่งเกินขีดจำกัดของระบบปฏิบัติการ" ใน Windows และ GitHub Actions |
| ปัญหา #437223807 | แก้ไขปัญหาการแก้ปัญหาทรัพยากรและเนื้อหาในโปรเจ็กต์แบบหลายโมดูล |
| ปัญหา #464899800 | แก้ไขความขัดแย้งของปลั๊กอิน Gradle ที่เกิดจากการตั้งชื่อซ้ำใน version.properties |
| ปัญหา #482433854 | แก้ไขข้อผิดพลาดในการเริ่มต้นสำหรับ Composable โดยใช้ kotlin-reflect หรือการซีเรียลไลซ์ |
0.0.1-alpha13
รุ่นนี้มีฟีเจอร์ใหม่ดังนี้
- ความเข้ากันได้กับ JDK 17 ขึ้นไป
- แก้ไขข้อบกพร่องและปรับปรุงการผสานรวมกับ Android Studio
0.0.1-alpha12
รุ่นนี้มีฟีเจอร์ใหม่ดังนี้
- ความเข้ากันได้กับปลั๊กอิน Android Gradle (AGP) 9.0
- รองรับการเรียกใช้การทดสอบภาพหน้าจอใน JDK 24 ขึ้นไป
- รองรับการกำหนดค่าขนาดฮีปสูงสุด
- แก้ไขการแสดงผลที่ไม่สำเร็จและปรับปรุงความเสถียรของการทดสอบ
- ปรับปรุงการรายงานให้รวมความแตกต่างเป็นเปอร์เซ็นต์และข้อมูลเมตาอื่นๆ ที่เกี่ยวข้องกับรูปภาพใหม่และรูปภาพอ้างอิง
0.0.1-alpha11
รุ่นนี้มีฟีเจอร์ใหม่ดังนี้
- ความเข้ากันได้กับปลั๊กอิน Android Gradle (AGP) 8.13
- เพิ่มการรองรับการแยกวิเคราะห์ Drawable XML ที่มีค่าทศนิยมโดยไม่คำนึงถึง ภาษาของเครื่องโฮสต์
- สำหรับเครื่องโฮสต์ที่ใช้ JDK 24 ขึ้นไป ระบบจะเลือก JDK ที่เข้ากันได้ (11-23) หากมีการติดตั้ง
0.0.1-alpha10
รุ่นนี้มีฟีเจอร์ใหม่ดังนี้
ตั้งแต่เวอร์ชันนี้เป็นต้นไป คุณต้องทำเครื่องหมายฟังก์ชันเวอร์ชันตัวอย่างทั้งหมดด้วยคำอธิบายประกอบ
@PreviewTestระบบจะไม่ดำเนินการกับตัวอย่างที่ไม่มีคำอธิบายประกอบเปลี่ยนไดเรกทอรีรูปภาพอ้างอิงจาก
{module}/src/{variant}/screenshotTest/referenceเป็น{module}/src/screenshotTest{Variant}/referenceเพื่อให้มั่นใจว่ารูปภาพอ้างอิงที่สร้างขึ้นจะไม่เป็นส่วนหนึ่งของโค้ดที่ใช้งานจริง และเพื่อให้สอดคล้องกับโครงสร้างไดเรกทอรีของการทดสอบประเภทอื่นๆระบบจะนำงาน
{variant}PreviewScreenshotRenderออก การแสดงรูปภาพจะ ย้ายไปที่ JUnit Test Engineงาน
update{Variant}ScreenshotTestจะเปรียบเทียบรูปภาพที่แสดงผลใหม่กับ รูปภาพอ้างอิงก่อนที่จะอัปเดต โดยจะอัปเดตรูปภาพที่มี ความแตกต่างมากกว่าเกณฑ์ที่ระบุเท่านั้น มีการนำ--updateFilterแฟล็กบรรทัดคำสั่งออกแล้ว
0.0.1-alpha06
รุ่นนี้มีฟีเจอร์ใหม่ดังนี้
เกณฑ์ความแตกต่างของรูปภาพ: การตั้งค่าเกณฑ์ส่วนกลางใหม่นี้ช่วยให้คุณควบคุมการเปรียบเทียบภาพหน้าจอได้ละเอียดยิ่งขึ้น หากต้องการกำหนดค่า ให้อัปเดต build.gradle.kts ของโมดูลดังนี้
testOptions {
screenshotTests {
imageDifferenceThreshold = 0.0001f // 0.01%
}
}
ระบบจะใช้เกณฑ์นี้กับการทดสอบภาพหน้าจอทั้งหมดที่กำหนดไว้ในโมดูล
- การแก้ไขข้อบกพร่อง: แก้ไขข้อบกพร่องของโปรแกรมแสดงผล Compose บางรายการและเพิ่มการรองรับ Compose ที่ว่างเปล่า
- การปรับปรุงประสิทธิภาพ: อัปเดตอัลกอริทึมการเปรียบเทียบรูปภาพให้เร็วขึ้น