測試應用程式意見回饋

更新應用程式後,支援透過按鍵應用程式狀態傳送意見回饋,可以使用 請參閱本頁指南,瞭解如何設定單元測試,並將測試意見回饋傳送至測試裝置政策 控制器 (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();

傳送測試意見回饋給測試 DPC

裝置政策控制器範例 Test DPC 可以接收應用程式意見回饋 下載。

步驟 1:安裝測試 DPC

安裝最新版的測試 DPC 。接著,將測試 DPC 設為裝置設定:

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

步驟 2:啟用應用程式意見回饋通知

在測試 DPC 的選單中,啟用「應用程式意見回饋通知」

啟用通知

觸發設定按鍵應用程式狀態的事件。如果成功,「測試 DPC」就會顯示 從通知中獲得意見回饋:

已顯示意見回饋