หมายเหตุประจำรุ่นสำหรับการทดสอบภาพหน้าจอของฟีเจอร์สร้างตัวอย่าง

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 ที่ว่างเปล่า
  • การปรับปรุงประสิทธิภาพ: อัปเดตอัลกอริทึมการเปรียบเทียบรูปภาพให้เร็วขึ้น