Menguji masukan aplikasi

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

Menyiapkan pengujian unit

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

Langkah 1: Siapkan kelas untuk menerima KeyedAppStatesReporter sebagai parameter

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

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 dependensi aplikasi Anda File build.gradle:

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

Langkah 3: Buat FakeKeyedAppStatesReporter dan teruskan ke class 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 bahwa tidak ada status yang ditetapkan:

Kotlin

assertThat(reporter.keyedAppStates).isEmpty();

Java

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

Atau bahwa 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, yang disebut {i>Test DPC<i}, mampu menerima masukan aplikasi dan tersedia untuk yang didownload.

Langkah 1: Instal DPC Pengujian

Instal Test DPC versi terbaru 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 yang dikunci. Jika berhasil, DPC Pengujian akan menampilkan masukan di dalam notifikasi:

masukan ditampilkan