Тестирование отзывов о приложении

После обновления вашего приложения для поддержки отправки отзывов в виде ключевых состояний приложения вы можете использовать рекомендации на этой странице, чтобы настроить модульные тесты и отправить отзывы о тестировании контроллеру политики тестовых устройств (DPC).

Настройка модульных тестов

В этом разделе приведены примеры настройки модульных тестов, чтобы проверить, что ваше приложение взаимодействует с ключевыми состояниями приложения, как ожидалось.

Шаг 1. Настройте свои классы так, чтобы они принимали KeyedAppStatesReporter в качестве параметра.

Вместо прямого вызова метода create() измените свои классы, чтобы они принимали KeyedAppStatesReporter в качестве параметра, как в примере класса BatteryManager ниже:

Котлин

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

Ява

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 и передайте его в свой класс.

Котлин

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

Ява

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

Шаг 4. Подтвердите взаимодействие с FakeKeyedAppStatesReporter

Например, чтобы проверить, что состояния не установлены:

Котлин

assertThat(reporter.keyedAppStates).isEmpty();

Ява

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

Или что определенное состояние было запрошено для загрузки:

Котлин

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

Ява

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

Отправить отзыв о тестировании в тестовый ЦОД

Пример контроллера политики устройства , называемый Test DPC, способен получать отзывы приложений и доступен для скачивания.

Шаг 1. Установите тестовый ЦОД

Установите последнюю версию Test DPC из Play Store. Далее назначаем Test DPC администратором устройства:

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

Шаг 2. Включите уведомления об отзывах приложений

В меню Test DPC включите уведомления об отзывах приложений .

включить уведомления

Запустите событие, которое устанавливает состояние приложения с ключом. В случае успеха Test DPC отобразит отзыв в уведомлениях:

отображается отзыв