Menguji masukan aplikasi

Setelah mengupdate aplikasi untuk mendukung pengiriman masukan dalam bentuk status aplikasi dengan kunci, Anda dapat menggunakan panduan di halaman ini untuk menyiapkan pengujian unit dan mengirim masukan pengujian ke pengontrol kebijakan perangkat pengujian (DPC).

Menyiapkan pengujian unit

Bagian ini memberikan contoh cara menyiapkan pengujian unit untuk memeriksa apakah aplikasi Anda berinteraksi dengan status aplikasi terkunci seperti yang diharapkan.

Langkah 1: Siapkan class untuk menerima KeyedAppStatesReporter sebagai parameter

Daripada memanggil create() secara langsung, ubah class untuk menerima KeyedAppStatesReporter sebagai parameter seperti dalam contoh class BatteryManager di bawah:

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);
    }
}

Selanjutnya, gunakan KeyedAppStatesReporter.create untuk mendapatkan instance yang akan diteruskan di mana pun BatteryManager dibuat.

Langkah 2: Tambahkan library pengujian masukan perusahaan ke file build.gradle Anda

Tambahkan dependensi berikut ke file build.gradle aplikasi Anda:

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

Langkah 3: Buat FakeKeyedAppStatesReporter dan teruskan ke kelas Anda

Kotlin

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

Java

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

Langkah 4: Nyatakan interaksi dengan FakeKeyedAppStatesReporter

Misalnya, untuk memeriksa apakah tidak ada negara bagian yang ditetapkan:

Kotlin

assertThat(reporter.keyedAppStates).isEmpty();

Java

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

Atau negara bagian tertentu telah diminta untuk diupload:

Kotlin

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

Java

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

Mengirim masukan pengujian ke DPC Pengujian

Contoh pengontrol kebijakan perangkat, disebut Test DPC, yang mampu menerima masukan aplikasi dan tersedia untuk didownload.

Langkah 1: Instal DPC Pengujian

Instal versi terbaru Test DPC dari Play Store. Berikutnya, tetapkan DPC Pengujian sebagai admin perangkat:

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

Langkah 2: Aktifkan Notifikasi masukan aplikasi

Di menu Test DPC, aktifkan Notifikasi masukan aplikasi.

aktifkan notifikasi

Memicu peristiwa yang menetapkan status aplikasi terkunci. Jika berhasil, DPC Pengujian akan menampilkan masukan di notifikasi:

masukan ditampilkan