Kamera-ITS-Tests für faltbare Geräte

Ab Android 13 unterstützt Camera ITS Tests für faltbare Geräte. Bei faltbaren Geräten sind die Kameras je nach Zustand des Geräts (gefaltet oder aufgeklappt) verfügbar oder nicht.

Die Kamera-IDs ändern sich je nach Gerätetyp, Modell und Marke. Die Verfügbarkeit physischer Frontkameras hängt vom Zustand ab. Daher werden die Szenen- und Kamerakombinationen, die für die Tests verwendet werden sollen, dynamisch vom Kamera-ITS bestimmt. Da Kameras sowohl im zusammengeklappten als auch im aufgeklappten Zustand getestet werden müssen, muss das DUT während des Tests neu montiert werden.

Tests der Front- und Rückkamera

Die auf einem faltbaren Gerät verfügbaren Kamerasensoren unterscheiden sich je nachdem, ob das Gerät zusammengeklappt oder aufgeklappt ist. Bei faltbaren Smartphones hängt die Verfügbarkeit der Frontkamera vom Status ab. Die Frontkamera ist beispielsweise im zusammengeklappten Zustand nicht verfügbar. Aufgrund dieser Änderung der Verfügbarkeit der Frontkamera müssen Frontkameras sowohl im geschlossenen als auch im aufgeklappten Zustand getestet werden. Die Kamera-ITS geht davon aus, dass die Verfügbarkeit der Rückkamera unabhängig davon ist, ob das Gerät aufgeklappt oder zugeklappt ist. Daher müssen Rückkameras nur einmal getestet werden.

Je nach Gerätestatus werden die nicht verfügbaren Kameras von der Kamera-ITS-Funktion herausgefiltert und nicht in der Liste der Kamera- und Szenenkombinationen aufgeführt.

In der folgenden Tabelle wird das Verhalten des Kamera-ITS-Tests für jede Kameraausrichtung beschrieben.

Kameraausrichtung ITS-Testverhalten der Kamera
Rückkamera Testet die Kamera einmal im (zusammengeklappten oder) offenen Zustand.
Haupt-Frontkamera Die Kamera wird einmal im zusammengeklappten und einmal im aufgeklappten Zustand getestet.
Physische Frontkamera Testet die Kamera nur in Status, in denen die Kamera verfügbar ist.

Testverfahren

In diesem Abschnitt werden die Schritte zum Testen von Kameras für faltbare Geräte beschrieben.

Gerät einrichten

Informationen zur Einrichtung finden Sie unter Einrichtung.

Test-API-Zugriff gewähren

Damit der Kamera-ITS feststellen kann, ob das Gerät faltbar ist oder nicht, musst du vor dem Aufrufen der Tests den Zugriff auf die Test-API gewähren. Wenn der Zugriff nicht gewährt wird, führt das Ausführen der ITS-Tests für die Kamera zum Absturz der App.

Führen Sie den folgenden ADB-Befehl aus, um Zugriff zu gewähren. Dieser Befehl muss einmal für ein einzelnes Gerät ausgeführt werden. Wenn CTS Verifier mit einer anderen Version neu installiert wird, müssen Sie den Befehl noch einmal ausführen.

adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier

Konfigurationsdatei

Wenn Sie angeben möchten, dass es sich um ein faltbares Gerät handelt, fügen Sie den Parameter foldable_device sowohl in den tablet- als auch in den sensor_fusion-Testbeds in der Datei config.yml hinzu. Der Kamera-ITS verwendet diesen Parameter, um die camera_id- und Szenenkombinationen für den geschlossenen und den offenen Zustand zu bestimmen.

Im Folgenden finden Sie ein Beispiel für eine config.yml-Datei für ein faltbares Gerät.

TestBeds:
  - Name: TABLET_SCENES
    # Test configuration for scenes[0:4, 6]
    Controllers:
        AndroidDevice:
          - serial: 8A9X0NS5Z
            label: dut
          - serial: 5B16001229
            label: tablet

    TestParams:
      brightness: 192
      chart_distance: 22.0
      debug_mode: "False"     # "quotes" needed
      chart_loc_arg: ""
      camera: 0
      scene: scene2_a
  lighting_cntl: arduino    # can be "arduino" or "None"
  lighting_ch: 1
  foldable_device: "True"     # "False" for non-foldable DUTs

Tests ausführen

Führen Sie den Befehl run_all_tests.py aus, um die ITS-Tests auf einem faltbaren Gerät auszuführen. Weitere Informationen finden Sie unter Tests aufrufen.

Wenn die Kamera-ITS-Funktion auf einem faltbaren Gerät ausgeführt wird, wird die primäre Frontkamera in beiden Zuständen getestet, also zugeklappt und aufgeklappt. Wenn das Gerät zusammengeklappt ist, werden die Ergebnisse in der CTS Verifier App unter der Option camera1_SCENE_NAME_folded angezeigt. Je nach Gerätestatus sind bestimmte physische Kamera-IDs an der Vorderseite nicht verfügbar und werden nicht getestet. Die Rückkamera muss nur in einem Zustand getestet werden, vorzugsweise im zusammengefalteten Zustand. Die Ergebnisse für die Rückkamera haben kein _folded-Suffix.

Führen Sie den folgenden Befehl aus, um sicherzustellen, dass die gefalteten Szenen mit dem Gerät in gefaltetem Zustand ausgeführt werden, und den Status des faltbaren DUT zu prüfen.

adb shell cmd device_state state

Wenn Tests im zusammengeklappten Zustand ausgeführt werden, zeigt das Kamera-ITS eine Nachricht im Terminal an, in der der Nutzer aufgefordert wird, das Gerät richtig auf dem ITS-Gerät zu installieren. Drücken Sie die Eingabetaste, um den Test nach der Aufforderung fortzusetzen.

Wenn Sie alle Szenen sowohl im geöffneten als auch im geöffneten Zustand ausführen, werden zuerst die eingeklappten Szenen und dann die ausgefalteten Szenen ausgeführt. Dadurch wird die Anzahl der erforderlichen Neumounts während des Tests minimiert.

Der Kamera-ITS fügt dem Verzeichnis tmp, das für Foldables-Szenen erstellt wurde, außerdem das Suffix folded hinzu.

Beispielbefehle

Im Folgenden finden Sie Beispielbefehle für die Testausführung auf faltbaren Geräten.

Befehl Beschreibung
python tools/run_all_tests.py Führt alle Szenen aus.
python tools/run_all_tests.py scenes=scene0 Führt „scene0“ aus. Wenn das Gerät zusammengeklappt ist und der Nutzer die primäre Frontkamera testet, ermittelt das Script den Gerätestatus und fügt dem Szenennamen das Suffix _folded hinzu. Nutzer müssen das Suffix nicht hinzufügen, um die minimierten Szenen auszuführen.
python tests/scene0/ -c config.yml Führt einen bestimmten Test aus.