Ghi chú phát hành về tính năng kiểm thử ảnh chụp màn hình trong bản xem trước của Compose

0.0.1-alpha15

Bản phát hành này bao gồm các bản sửa lỗi sau:

Vấn đề Mô tả
vấn đề #500417360 Khắc phục sự cố khởi tạo (NoClassDefFoundError) khi chạy bản xem trước bằng Kotlin 2.1 trở lên do thiếu phần phụ thuộc kotlin-stdlib trong trình tải lớp riêng biệt của khung Layoutlib.
vấn đề #384188032 Khắc phục sự cố kết xuất khi tăng cường một đối tượng ViewHolder bên trong factory AndroidView composable.
vấn đề #351302272 Đã khắc phục lỗi tải tài nguyên drawable trong bản xem trước khi tài nguyên nằm trong các mô-đun dự án ngang hàng hoặc phụ thuộc.
vấn đề #482664893 Đảm bảo rằng các tác vụ xác thực sẽ thất bại một cách thích hợp khi các kiểm thử ảnh chụp màn hình đưa ra ngoại lệ, thay vì thành công không chính xác với ảnh chụp màn hình cũ.
vấn đề #497675618 Hỗ trợ hoạt động đo lường các lớp có thể kết hợp bằng các tác nhân phạm vi JVM (chẳng hạn như JaCoCo).
vấn đề #498545960 Xoá tên tệp nội bộ (ví dụ: ImageVerifier.kt) khỏi dấu vết ngăn xếp lỗi trên bảng điều khiển JUnit để làm rõ đầu ra gỡ lỗi.
vấn đề #385613865 Xoá việc sử dụng đường dẫn tuyệt đối cho hình ảnh trong tệp XML kết quả kiểm thử, thay thế bằng đường dẫn tương đối.
vấn đề #513276596 Đảm bảo các lỗi kết xuất sẽ khiến các tác vụ kiểm thử ảnh chụp màn hình thất bại một cách chính xác thay vì âm thầm truyền dữ liệu với ảnh chụp màn hình trống.
vấn đề #340639802 Giải quyết các xung đột về độ phân giải của phương thức xem trước khi các kiểm thử được so khớp không chính xác với các tên phương thức đủ điều kiện phù hợp trong nguồn chính.

0.0.1-alpha14

Bản phát hành này bao gồm các bản sửa lỗi và điểm cải thiện hiệu suất sau đây:

Vấn đề Mô tả
vấn đề #469819154 Khắc phục lỗi rò rỉ bộ nhớ trong trình kết xuất Compose.
vấn đề #470058578 Khắc phục tình trạng giao diện người dùng bị treo và lỗi bộ nhớ khi cập nhật hình ảnh tham chiếu.
vấn đề #422412664 Đã khắc phục lỗi "dòng lệnh vượt quá giới hạn của hệ điều hành" trên Windows và GitHub Actions.
vấn đề #437223807 Khắc phục các vấn đề về độ phân giải tài nguyên và thành phần trong các dự án nhiều mô-đun.
vấn đề #464899800 Đã khắc phục xung đột trình bổ trợ Gradle do xung đột tên trong version.properties.
vấn đề #482433854 Đã khắc phục lỗi khởi chạy cho các thành phần kết hợp bằng kotlin-reflect hoặc quá trình chuyển đổi tuần tự.

0.0.1-alpha13

Bản phát hành này giới thiệu:

  • Khả năng tương thích với JDK 17 trở lên.
  • Sửa lỗi và cải thiện khả năng tích hợp với Android Studio.

0.0.1-alpha12

Bản phát hành này giới thiệu:

  • Khả năng tương thích với Trình bổ trợ Android cho Gradle (AGP) 9.0.
  • Hỗ trợ chạy các kiểm thử ảnh chụp màn hình trên JDK 24 trở lên.
  • Hỗ trợ định cấu hình kích thước tối đa của vùng nhớ khối xếp.
  • Đã khắc phục lỗi kết xuất và cải thiện độ ổn định của thử nghiệm.
  • Cải thiện báo cáo để bao gồm tỷ lệ phần trăm chênh lệch và các siêu dữ liệu khác liên quan đến hình ảnh mới và hình ảnh tham chiếu.

0.0.1-alpha11

Bản phát hành này giới thiệu:

  • Khả năng tương thích với Trình bổ trợ Android cho Gradle (AGP) 8.13.
  • Thêm tính năng hỗ trợ phân tích cú pháp các đối tượng có thể vẽ XML bằng giá trị thập phân, bất kể ngôn ngữ của máy chủ lưu trữ.
  • Đối với máy chủ lưu trữ sử dụng JDK 24 trở lên, JDK tương thích (11-23) sẽ được chọn, miễn là bạn đã cài đặt một JDK.

0.0.1-alpha10

Bản phát hành này giới thiệu:

  • Kể từ phiên bản này, bạn cần đánh dấu tất cả các hàm xem trước bằng chú giải @PreviewTest. Bản xem trước không có chú thích sẽ không được thực thi.

  • Thư mục hình ảnh tham khảo đã thay đổi từ {module}/src/{variant}/screenshotTest/reference thành {module}/src/screenshotTest{Variant}/reference. Điều này nhằm đảm bảo những hình ảnh tham chiếu được tạo đó sẽ không thuộc mã sản xuất và được điều chỉnh theo cấu trúc thư mục của các loại kiểm thử khác.

  • Việc cần làm {variant}PreviewScreenshotRender sẽ bị xoá. Quá trình kết xuất hình ảnh được di chuyển vào JUnit Test Engine.

  • Tác vụ update{Variant}ScreenshotTest sẽ so sánh hình ảnh kết xuất mới với hình ảnh tham chiếu trước khi cập nhật. Thao tác này sẽ chỉ cập nhật những hình ảnh có sự khác biệt lớn hơn một ngưỡng cụ thể. Cờ dòng lệnh --updateFilter đã bị xoá.

0.0.1-alpha06

Bản phát hành này giới thiệu:

Ngưỡng khác biệt về hình ảnh: Chế độ cài đặt ngưỡng chung mới này sẽ giúp bạn kiểm soát chính xác hơn các so sánh ảnh chụp màn hình. Để định cấu hình, hãy cập nhật build.gradle.kts của mô-đun:

    testOptions {
        screenshotTests {
            imageDifferenceThreshold = 0.0001f // 0.01%
        }
    }

Ngưỡng này sẽ được áp dụng cho tất cả các kiểm thử ảnh chụp màn hình được xác định trong mô-đun.

  • Sửa lỗi: Sửa một số lỗi của Trình kết xuất Compose và thêm tính năng hỗ trợ cho Compose trống.
  • Cải thiện hiệu suất: Thuật toán so sánh hình ảnh đã được cập nhật để hoạt động nhanh hơn.