اختبار ملاحظات التطبيق

بعد تحديث تطبيقك لإتاحة إرسال الملاحظات في شكل حالات تطبيق رئيسية، يمكنك اتّباع الإرشادات الواردة في هذه الصفحة لإعداد اختبارات الوحدات وإرسال ملاحظات الاختبار إلى وحدة التحكّم بسياسة الجهاز (DPC).

إعداد اختبارات الوحدات

يقدم هذا القسم أمثلة حول كيفية إعداد اختبارات الوحدات للتحقق من أن تطبيقك يتفاعل مع حالات التطبيق الأساسية كما هو متوقع.

الخطوة 1: إعداد فئاتك لقبول KeyedAppStatesReporter كمَعلمة

بدلاً من استدعاء create() مباشرةً، عدِّل الفئات لقبول KeyedAppStatesReporter كمَعلمة كما هو الحال في مثال الفئة BatteryManager أدناه:

Kotlin

class BatteryManager(val reporter:KeyedAppStatesReporter) {
  fun lowBattery(battery:Int) {
    reporter.setStatesImmediate(
        hashSetOf(KeyedAppState.builder()
           .setKey("battery")
           .setSeverity(KeyedAppState.SEVERITY_INFO)
           .setMessage("Battery is low")
           .setData(battery.toString())
           .build()))
  }
}

Java

public class BatteryManager {
    private final KeyedAppStatesReporter reporter;
    public BatteryManager(KeyedAppStatesReporter reporter) {
        this.reporter = reporter;
    }

    public void lowBattery(int battery) {
        final Collection states = new HashSet<>();
        states.add(KeyedAppState.builder()
            .setKey("battery")
            .setSeverity(KeyedAppState.SEVERITY_INFO)
            .setMessage("Battery is low")
            .setData(Integer.toString(battery))
            .build();
        reporter.setStatesImmediate(states);
    }
}

بعد ذلك، استخدم KeyedAppStatesReporter.create للحصول على مثيل لتمرير حيث تم إنشاء BatteryManager.

الخطوة 2: إضافة مكتبة اختبار الملاحظات والآراء للمؤسسات إلى ملف build.gradle

أضِف الاعتمادية التالية إلى ملف build.gradle الخاص بتطبيقك:

dependencies {
    testImplementation 'androidx.enterprise:enterprise-feedback-testing:1.0.0'
}

الخطوة 3: إنشاء FakeKeyedAppStatesReporter وإدراجه في الصف

Kotlin

val reporter = FakeKeyedAppStatesReporter();
val batteryManager = BatteryManager(reporter);

Java

FakeKeyedAppStatesReporter reporter = new FakeKeyedAppStatesReporter();
BatteryManager batteryManager = new BatteryManager(reporter);

الخطوة 4: تأكيد التفاعلات مع FakeKeyedAppStatesReporter

على سبيل المثال، للتحقق من عدم تعيين أي حالات:

Kotlin

assertThat(reporter.keyedAppStates).isEmpty();

Java

assertThat(reporter.getKeyedAppStates()).isEmpty();

أو أنّه تمّت المطالبة بتحميل ولاية معيّنة:

Kotlin

assertThat(reporter.uploadedKeyedAppStatesByKey["battery"]).isNotNull()

Java

assertThat(reporter.getUploadedKeyedAppStatesByKey().get("battery")).isNotNull();

إرسال ملاحظات الاختبار إلى وحدة التحكّم بسياسة الجهاز للاختبار

نموذج لوحدة التحكم في سياسة الجهاز، المسماة Test DPC، يمكن تلقي ملاحظات على التطبيقات وهو متاح للتنزيل.

الخطوة 1: تثبيت اختبار وحدة التحكّم بسياسة الجهاز

ثبِّت أحدث إصدار من Test DPC (اختبار وحدة التحكّم بسياسة الجهاز) من "متجر Play". بعد ذلك، اضبط اختبار وحدة التحكّم بسياسة الجهاز (DPC) كمشرف للجهاز:

adb shell dpm set-device-owner com.afwsamples.testdpc/.DeviceAdminReceiver

الخطوة 2: تفعيل إشعارات ملاحظات التطبيقات

في قائمة Test DPC (وحدة التحكّم بسياسة الجهاز)، فعِّل إشعارات الملاحظات والآراء على التطبيق.

تفعيل الإشعارات

يؤدي هذا الخيار إلى بدء حدث يؤدي إلى ضبط حالة تطبيق مرتبط بمفتاح. في حال نجاح هذا الإجراء، سيعرض اختبار وحدة التحكّم بسياسة الجهاز الملاحظات في الإشعارات:

التعليقات المعروضة