ملاحظات إصدار أداة "اختبار لقطات الشاشة لمعاينة Compose"

0.0.1‎-alpha15

يتضمّن هذا الإصدار إصلاحات الأخطاء التالية:

المشكلة الوصف
المشكلة رقم 500417360 تم إصلاح عُطل في عملية الإعداد (NoClassDefFoundError) عند تشغيل المعاينات باستخدام الإصدار 2.1 أو الإصدارات الأحدث من Kotlin بسبب عدم توفّر اعتمادية kotlin-stdlib في أداة تحميل الفئات المعزولة لإطار عمل Layoutlib.
المشكلة رقم ‎384188032 تم إصلاح تعطُّل في العرض عند تضخيم عنصر ViewHolder داخل مصنع AndroidView دالة مركّبة.
المشكلة رقم ‎351302272 تم إصلاح أخطاء تحميل موارد الرسومات القابلة للرسم داخل المعاينات التي تتضمّن موارد في وحدات مشاريع تابعة أو مرتبطة.
المشكلة رقم 482664893 تم التأكّد من أنّ مهام التحقّق تتعذّر بشكل صحيح عندما تُظهر اختبارات لقطات الشاشة استثناءات، بدلاً من أن تنجح بشكل غير صحيح مع لقطة شاشة قديمة.
المشكلة رقم ‎497675618 إتاحة إمكانية استخدام أدوات قياس تغطية JVM (مثل JaCoCo) مع الفئات القابلة للإنشاء
المشكلة رقم 498545960 تمت إزالة أسماء الملفات الداخلية المختصرة (مثل ImageVerifier.kt) من عمليات تتبُّع تسلسُل استدعاء الدوال البرمجية لأخطاء وحدة تحكّم JUnit لتوضيح ناتج تصحيح الأخطاء.
المشكلة رقم 385613865 تمت إزالة استخدام المسار المطلق للصور في ملف XML الخاص بنتائج الاختبار، واستبداله بالمسارات النسبية.
issue #513276596 تم التأكّد من أنّ حالات تعذُّر العرض تؤدي إلى إيقاف مهام اختبار لقطات الشاشة بشكل صحيح بدلاً من إكمالها بدون تنبيه مع عرض لقطة شاشة فارغة.
المشكلة رقم ‎340639802 تم حلّ تعارضات تحديد طريقة المعاينة حيث تمّت مطابقة الاختبارات بشكل غير صحيح مع أسماء الطرق المؤهَّلة بالكامل في مجموعة المصادر الرئيسية.

0.0.1‎-alpha14

يتضمّن هذا الإصدار إصلاحات للأخطاء وتحسينات في الأداء، وهي:

المشكلة الوصف
المشكلة رقم 469819154 تم إصلاح تسربات الذاكرة في أداة العرض Compose.
المشكلة رقم 470058578 تم إصلاح المشاكل المتعلّقة بتجمُّد واجهة المستخدم وأخطاء الذاكرة عند تعديل الصور المرجعية.
المشكلة رقم 422412664 تم إصلاح أخطاء "تجاوز سطر الأوامر لحدود نظام التشغيل" على نظام التشغيل Windows وGitHub Actions.
المشكلة رقم ‎437223807 تم إصلاح مشاكل تحديد الموارد ومواد العرض في المشاريع المتعددة الوحدات.
المشكلة رقم 464899800 تم إصلاح تعارض في إضافة Gradle ناتج عن تعارض في التسمية في version.properties.
المشكلة رقم ‎482433854 تم إصلاح أخطاء الإعداد الأوّلي للعناصر القابلة للإنشاء باستخدام kotlin-reflect أو التسلسل.

0.0.1‎-alpha13

يتضمّن هذا الإصدار ما يلي:

  • التوافق مع JDK 17 أو إصدار أحدث
  • إصلاح الأخطاء وتحسين التكامل مع "استوديو Android"

0.0.1‎-alpha12

يتضمّن هذا الإصدار ما يلي:

  • التوافق مع الإصدار 9.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android
  • إتاحة إجراء اختبارات لقطات الشاشة على الإصدار 24 من JDK والإصدارات الأحدث
  • إتاحة ضبط الحد الأقصى لحجم الذاكرة المؤقتة
  • إصلاح أخطاء العرض وتحسين ثبات الاختبار.
  • تحسين التقارير لتشمل الفرق في النسبة المئوية وغيرها من البيانات الوصفية ذات الصلة بالصور الجديدة والصور المرجعية.

0.0.1‎-alpha11

يتضمّن هذا الإصدار ما يلي:

  • التوافق مع الإصدار 8.13 من "المكوّن الإضافي لنظام Gradle المتوافق مع Android"
  • إمكانية تحليل عناصر XML القابلة للرسم التي تتضمّن قيمًا عشرية بغض النظر عن اللغة المحلية للجهاز المضيف.
  • بالنسبة إلى الجهاز المضيف الذي يستخدم JDK 24 أو إصدارًا أحدث، سيتم اختيار JDK متوافق (11-23) إذا كان مثبّتًا.

0.0.1‎-alpha10

يتضمّن هذا الإصدار ما يلي:

  • اعتبارًا من هذا الإصدار، عليك وضع التعليق التوضيحي @PreviewTest على جميع دوال المعاينة. لن يتم تنفيذ المعاينات التي لا تتضمّن التعليق التوضيحي.

  • تم تغيير دليل الصور المرجعية من {module}/src/{variant}/screenshotTest/reference إلى {module}/src/screenshotTest{Variant}/reference. والهدف من ذلك هو التأكّد من أنّ الصور المرجعية التي تم إنشاؤها لن تكون جزءًا من رمز الإنتاج، وأنّها ستكون متوافقة مع بنية الدليل الخاصة بأنواع الاختبارات الأخرى.

  • تمت إزالة المهمة {variant}PreviewScreenshotRender. وتم نقل عملية عرض الصور إلى محرك اختبار JUnit.

  • ستقارن مهمة update{Variant}ScreenshotTest صور العرض الجديدة بالصور المرجعية قبل إجراء التعديل. ولن يتم تعديل سوى الصور التي تتضمّن اختلافات تتجاوز الحدّ الأدنى المحدّد. تمت إزالة العلامة --updateFilter في سطر الأوامر.

0.0.1‎-alpha06

يتضمّن هذا الإصدار ما يلي:

‫Image Difference Threshold: سيسمح لك إعداد الحدّ العام الجديد هذا بالتحكّم بشكل أفضل في عمليات مقارنة لقطات الشاشة. لضبط الإعدادات، عدِّل ملف build.gradle.kts الخاص بالوحدة على النحو التالي:

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

سيتم تطبيق الحدّ الأدنى هذا على جميع اختبارات لقطات الشاشة المحدّدة في الوحدة.

  • إصلاح الأخطاء: تم إصلاح بعض الأخطاء في أداة العرض Compose Renderer وإتاحة إمكانية إنشاء رسائل فارغة.
  • تحسينات على الأداء: تم تعديل خوارزمية مقارنة الصور لتصبح أسرع.