0.0.1-alpha16
يتضمّن هذا الإصدار إتاحة حِزم اختبار Android Gradle Plugin، وتحسينات على تقرير اختبار HTML، وإصلاحات للأخطاء:
- دمج حِزم الاختبار: تمت إضافة إمكانية تنفيذ اختبارات لقطات الشاشة لمعاينة Compose باستخدام حِزم الاختبار في المكوّن الإضافي لنظام Gradle المتوافق مع Android (AGP). للتعرّف على كيفية إعداد مجموعات اختبارات لقطات الشاشة وتنفيذها، يمكنك الاطّلاع على اختبار لقطات الشاشة باستخدام مجموعات الاختبارات.
- تحسينات على تقرير اختبار HTML: تمت إضافة بطاقة بيانات وصفية للرأس تعرض تفاصيل حالة الاختبار (الاسم والطريقة والمعاينة والخيارات والمجموعة وشارة الحالة) ومربّع ملخّص الأخطاء الذي يصنّف حالات التعذّر (مثل الصور المرجعية غير المتوفّرة أو عدم تطابق الأبعاد) مع إمكانية النسخ السريع إلى الحافظة.
- الاختلافات المرئية الديناميكية: تستخدم الاختلافات المرئية الآن تدرّجًا مستمرًا من التمييز الدقيق لتغييرات البكسل الطفيفة إلى التمييز العالي التباين للاختلافات الكبيرة، ما يمنع إخفاء التغييرات في المكوّنات المتداخلة.
يتضمّن هذا الإصدار أيضًا إصلاحات الأخطاء التالية:
| المشكلة | الوصف |
|---|---|
| issue #513276596 | تساعد هذه الميزة في ضمان أنّ أخطاء العرض في Layoutlib تؤدي إلى إيقاف اختبارات لقطات الشاشة على الفور بدلاً من إيقافها بدون إشعار أو إنشاء صور مرجعية فارغة. |
0.0.1-alpha15
يتضمّن هذا الإصدار إصلاحات الأخطاء التالية:
| المشكلة | الوصف |
|---|---|
| المشكلة رقم 500417360 | تم إصلاح عُطل في عملية الإعداد (NoClassDefFoundError) عند تشغيل المعاينات باستخدام الإصدار 2.1 أو الإصدارات الأحدث من Kotlin بسبب عدم توفّر الاعتمادية kotlin-stdlib في أداة تحميل الفئات المعزولة لإطار عمل Layoutlib. |
| المشكلة رقم 384188032 | تم إصلاح عُطل في العرض عند إنشاء عنصر ViewHolder داخل مصنع AndroidView قابل للإنشاء. |
| issue #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. |
| issue #437223807 | تم إصلاح مشاكل تحديد الموارد ومواد العرض في المشاريع المتعددة الوحدات. |
| المشكلة رقم 464899800 | تم إصلاح تعارض في إضافة Gradle ناتج عن تعارض في التسمية في version.properties. |
| المشكلة رقم 482433854 | تم إصلاح أخطاء الإعداد الأوّلي للعناصر القابلة للإنشاء باستخدام kotlin-reflect أو التسلسل. |
0.0.1-alpha13
يتضمّن هذا الإصدار ما يلي:
- التوافق مع JDK 17 أو إصدار أحدث
- إصلاح الأخطاء وتحسين التكامل مع "استوديو Android"
0.0.1-alpha12
يتضمّن هذا الإصدار ما يلي:
- التوافق مع الإصدار 9.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android (AGP)
- إتاحة إجراء اختبارات لقطات الشاشة على الإصدار 24 من JDK والإصدارات الأحدث
- إتاحة ضبط الحد الأقصى لحجم الذاكرة المؤقتة
- إصلاح أخطاء العرض وتحسين ثبات الاختبار.
- تحسين التقارير لتشمل الفرق في النسبة المئوية وغيرها من البيانات الوصفية ذات الصلة بالصور الجديدة والصور المرجعية.
0.0.1-alpha11
يتضمّن هذا الإصدار ما يلي:
- التوافق مع الإصدار 8.13 من "المكوّن الإضافي لنظام Gradle المتوافق مع Android" (AGP)
- إمكانية تحليل عناصر 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 وإتاحة إمكانية إنشاء رسالة فارغة.
- تحسينات على الأداء: تم تعديل خوارزمية مقارنة الصور لتصبح أسرع.