Die Android Camera Image Test Suite (ITS) ist Teil des CTS Verifier (Compatibility Test Suite) und umfasst Tests zur Überprüfung von Bildinhalten. CTS Verifier unterstützt die ITS-Testautomatisierung mit der Kamera ITS-in-a-Box. Die Unterstützung für manuelle Tests deckt alle Formfaktoren von Android-Geräten ab.
ITS-in-a-Box bietet folgende Vorteile:
- Automatisierung. Während des Tests ist kein manuelles Eingreifen erforderlich.
- Einfache Fehlerbehebung Eine einheitliche Testumgebung führt zu weniger Einrichtungsfehlern und erhöht die Reproduzierbarkeit.
- Effizienz. Die Möglichkeit, für einzelne Kameras/Szenen noch einmal zu versuchen, verbessert die Effizienz der Testausführung.
Erste Schritte
ITS-in-a-Box besteht aus einer Kunststoffbox, die aus CAD-Zeichnungen (Computer Aided Design) per Laser geschnitten wird, einem Diagrammtablet und einem Testgerät (Device Under Test, DUT). In der folgenden Tabelle werden die Funktionen und Spezifikationen der verschiedenen ITS-in-a-Box-Rigs beschrieben, die verfügbar sind.
Rig | Diagrammabstand | Bildwinkelbereich der Kamera des DUT (ca.) | Funktionen |
---|---|---|---|
Modulare Basishalterung | 22 cm | 60°–120° |
|
Modulares Grundgestell und Teleskopausleger | 22 cm bis 100 cm* | 10°–120° | |
WFoV ITS-in-a-Box | 22 cm | 60°–120° |
|
RFoV ITS-in-a-Box | 31 cm | 60°–90° |
|
*Die Länge des Teleskopauslegers kann an unterschiedliche Entfernungen angepasst werden. |
So starten Sie mit dem ITS-in-a-Box für die Kamera:
- Kaufen oder bauen Sie ein ITS-in-a-Box mit modularem, Weitwinkel oder Breitband-Frontkamera.
- Konfigurieren Sie ein Tablet mit der ITS-Software für Kameras.
- Führen Sie Tests aus.
- Ergebnisse von der DUT abrufen
Tablet konfigurieren
In diesem Abschnitt wird Schritt für Schritt beschrieben, wie Sie ein Tablet für die Verwendung mit den
Camera ITS-Tests im Verzeichnis
CameraITS
einrichten. In dieser Anleitung wird Pixel C als Beispiel für ein Tablet verwendet. Informationen zu den Anforderungen und Empfehlungen für Tablets finden Sie unter Anforderungen an Tablets.
Hinweis:Die Python-Scripts für die ITS-Kamera legen automatisch die folgenden Optionen auf dem Tablet für Sie fest:
Einstellungen > Display > Ruhemodus > Nach 30 Minuten Inaktivität
Adaptive Helligkeit > AUS
- Laden Sie das Tablet auf und schalten Sie es ein. Wenn Sie aufgefordert werden, ein Konto einzurichten, überspringen Sie diesen Schritt. Für die ITS-Kamera ist kein mit dem Tablet verknüpftes Konto erforderlich.
- Aktualisieren Sie das Tablet auf Android 7.0 oder höher. Android 6.x und niedrigere Versionen unterstützen die Kamera-ITS nicht.
- Aktivieren Sie den Entwicklermodus.
- Kehren Sie zu den Einstellungen zurück und wählen Sie Entwickleroptionen aus.
Optionen aktivieren - An
- Bildschirm aktiv lassen
- USB-Debugging (Damit kann der Host das Tablet im Debug-Modus ausführen. Wenn Sie das Tablet zum ersten Mal mit dem Host verbinden, werden Sie auf dem Tablet gefragt: USB-Debugging zulassen? Wenn auf dem Tablet keine Aufforderung zum Debuggen angezeigt wird, trennen Sie die Verbindung und stellen Sie sie dann wieder her.
Optionen deaktivieren - Automatische Systemupdates
- Über USB installierte Apps prüfen
- Ermitteln Sie die DUT- und Diagramm-IDs, indem Sie
$ adb devices
ausführen, um eine Liste der verfügbaren Geräte aufzurufen. Umdevice_id
undchart_id
zu ermitteln, schließen Sie Geräte an und wieder aus und beobachten Sie, welche Geräte verbunden und getrennt werden. - Führen Sie drei Testläufe durch, um Hinweise und Nutzeraufforderungen zu unterdrücken, die Diagramme auf dem Tablet-Bildschirm verdecken können.
- Legen Sie das Tablet mit der Vorderseite nach oben auf einen Tisch. Befestigen Sie es nicht an der Rückseite des Kartons.
- Führen Sie den folgenden Befehl aus:
Für die Szenen 2 und 3 muss das Tablet ein Bild anzeigen. Daher wird auf dem Tablet die Aufforderung Drive erlauben, auf Fotos, Medien und Dateien auf Ihrem Gerät zuzugreifen? angezeigt. Sie können diesen Prompt löschen und zukünftige Prompts verhindern, indem Sie auf Zulassen tippen.python tools/run_all_tests.py device=$device_id camera=0 chart=$chart_id scenes=2,3
- Führen Sie den oben genannten Befehl noch einmal aus. Auf dem Tablet wird die Frage Eine Kopie dieser Datei behalten? angezeigt und Google Drive vorgeschlagen. Wenn Sie diese Aufforderung löschen und zukünftige Aufforderungen verhindern möchten, tippen Sie auf das Google Drive-Symbol und dann auf Abbrechen, um den Upload in Google Drive abzubrechen.
- Führen Sie abschließend
tools/run_all_tests.py
aus und prüfen Sie, ob sich die Szenen automatisch ändern, während das Script durch die verschiedenen Szenen wechselt. Die meisten Tests schlagen fehl, da die Kamera nicht auf das Diagramm gerichtet ist. Sie können jedoch prüfen, ob das Tablet die Szenen korrekt durchläuft, ohne dass Aufforderungen oder andere Pop-ups auf dem Display angezeigt werden.
Tests ausführen
Bevor Sie das ITS-in-a-Box ausführen, prüfen Sie, ob Ihre Testumgebung die folgende Hardware und Software enthält:
- 1 ITS-in-a-Box
- Ein (1) hochauflösendes 10"-Tablet zum Darstellen von Szenen, S/N: 5811000011
- Ein (1) DUT, auf dem die App „CTS Verifier 7.0_8+“ installiert ist. Beispiel DUT:
- Ein (1) Pixel NOF26W für Tests der Rückkamera(0), Seriennummer: FA6BM0305016. Um die CTS Verifier App zu installieren, entpacken Sie
android-cts-verifier.zip
und führen Sieadb -s FA6BM0305016 install -r -g android-cts-verifier/CtsVerifier.apk
- Ein (1) Pixel NOF26W für Tests der Rückkamera(0), Seriennummer: FA6BM0305016. Um die CTS Verifier App zu installieren, entpacken Sie
Tabletbasierte Szenen ausführen
So führen Sie Szenen 0 bis 4, 6 und „scene_change“ mit der Rückkamera aus:
cd android-cts-verifier/CameraITS
. build/envsetup.sh
python tools/run_all_tests.py camera=0
Beispiel:
Szenen noch einmal versuchen
So wiederholen Sie Szenen für eine einzelne Kamera:
- So wiederholen Sie Szenen mit einer einzelnen Kamera:
python tools/run_all_tests.py device=FA6BM0305016 camera=0 scenes=3,4
Szene 5 ausführen
Für Szene 5 ist eine spezielle Einrichtung mit bestimmter Beleuchtung erforderlich. Weitere Informationen finden Sie unter CameraITS.pdf
im CTS Verifier, den Sie unter Compatibility Test Suite Downloads herunterladen können.
Szene 5 muss separat (außerhalb des Containers) ausgeführt werden.
So führen Sie Szene 5 für die Front- und Rückkamera auf einem einzigen Gerät aus:
python tools/run_all_tests.py device=FA6BM0305016 camera=0 scenes=5
python tools/run_all_tests.py device=FA6BM0305016 camera=1 scenes=5
Ergebnisse abrufen
Sie können sich die Ergebnisse während des Tests ansehen und die abgeschlossenen Ergebnisse als Bericht speichern.
- Ergebnisse ansehen So speichern Sie Kamera-ITS-Ergebnisse als Bericht:
- Drücken Sie auf Übernehmen und speichern Sie den Bericht.
Abbildung 3 ITS-Bericht zu Kameras - Berichte vom Gerät abrufen:
adb -s FA6BM0305016 pull /sdcard/verifierReports
- Entpacken Sie die Berichtsdatei und öffnen Sie
test_result.xml
.
Abbildung 4: Berichte zu ITS-Kameras
- Drücken Sie auf Übernehmen und speichern Sie den Bericht.
Tabletanforderungen
Bei Android 15 und höher müssen Tablets, die als ITS-Diagrammanzeige verwendet werden, auf der folgenden Zulassungsliste für Tablets stehen. Eine Liste der Tablets, die Tests bei schlechten Lichtverhältnissen unterstützen, finden Sie unter Unterstützte Tablets für Szenen bei schlechten Lichtverhältnissen. Informationen zu Android 14 oder niedriger finden Sie unter Anforderungen an Tablets für Android 14 und niedriger.
Die Tablets auf der Zulassungsliste werden anhand der folgenden Kriterien ausgewählt:
- Displaygröße von etwa 10 Zoll mit einer Bildschirmauflösung von mehr als 1.920 × 1.200 Pixeln
- Es darf kein Flimmern durch PWM-gesteuertes (Pulse-Width Modulation) Dimmen des Bildschirms auftreten.
- Er kann von ITS-Tests gesendete adb-Befehle ausführen und Diagrammbilder mit der angegebenen Bildschirmhelligkeit anzeigen.
Der Wert brightness
muss in config.yml
entsprechend dem Tablet-Modell festgelegt werden. Wenn Sie wissen möchten, ob Ihr Tabletmodell einem Gerätenamen auf der Zulassungsliste entspricht, drucken Sie den Wert ro.product.device
aus, indem Sie den Befehl adb shell getprop | grep 'ro.product.device'
adb ausführen.
Gerät | Displaygröße (Zoll) |
Displaygröße (Pixel) |
Tabletabmessungen (Zoll) |
Display helligkeit |
Gerätename (ro.product .device) |
Version des Tablet-Betriebssystems |
---|---|---|---|---|---|---|
Google Pixel C |
10.2 | 2560 × 1800 | 9,53 × 7,05 × 0,28 | 96 | Drache | Android 6 oder höher |
Honor Pad 8 |
11 | 2.000 × 1.200 | 10,18 × 6,76 × 0,29 | 192 | HNHEY-Q | Android 12 |
Huawei MediaPad m5 |
10.8 | 2560 x 1600 | 10,18 × 6,76 × 0,29 | 192 | HWCMR09 | Android 8 oder höher |
Lenovo Tab M10 Plus |
10.3 | 1920 × 1200 | 9,61 × 6,03 × 0,32 | 192 | X606F | Android 9 oder höher |
Lenovo Tab P11 |
11 | 2.000 × 1.200 | 10,17 × 6,42 × 0,30 | 192 | J606F | Android 11 oder höher |
Lenovo Tab P11 Gen2 |
11,5 | 2.000 × 1.200 | 10,6 × 6,7 × 0,3 Zoll | 192 | TB350FU | Android 13 oder höher |
Nokia T21 |
10.4 | 2.000 × 1.200 | 9,74 × 6,19 × 0,30 | 192 | AGTA | Android 12 und höher |
Samsung Galaxy Tab A7 |
10.4 | 2.000 × 1.200 | 9,75 × 6,2 × 0,28 | 192 | gta4lwifi | Android 10 oder höher |
Samsung Galaxy Tab A8 |
10.5 | 1920 × 1200 | 9,72 × 6,73 × 0,27 | 192 | gta8wifi | Android 11 oder höher |
Samsung Galaxy Tab A9+ |
11 | 1920 × 1200 | 10,12 × 6,64 × 0,27 | 192 | gta9pwifi | Android 13 oder höher |
Vivo Pad2 |
12.1 | 2800 × 1968 | 10,47 × 7,54 × 0,26 Zoll | 192 | DPD2221 | Android 13 oder höher |
Xiaomi Pad 5 |
11 | 2560 x 1600 | 10,18 × 6,76 × 0,29 | 192 | nabu | Android 13 oder höher |
Xiaomi Redmi Pad |
10,61 | 2.000 × 1.200 | 9,86 × 6,22 × 0,28 | 192 | yunluo | Android 14 oder höher |
Xiaomi Redmi Pad SE |
11 | 2560 x 1600 | 10,06 × 6,58 × 0,29 Zoll | 192 | xun | Android 13 oder höher |
Unterstützte Tablets für Aufnahmen bei schlechten Lichtverhältnissen
In der folgenden Tabelle sind Tablets aufgeführt, die Tests für Szenen bei wenig Licht unterstützen. Diese Tablets können die Helligkeit erreichen, die für Szenen bei wenig Licht erforderlich ist, sodass das Testgerät das Diagramm richtig belichten kann.Gerät | Gerätename (ro.product.device) | Betriebssystemversion des Tablets |
---|---|---|
Huawei MediaPad m5 |
HWCMR09 | Android 8 oder höher |
Samsung Galaxy Tab A8 | gta8wifi | Android 11 oder höher |
Samsung Galaxy Tab A9+ | gta9pwifi | Android 13 oder höher |
Xiaomi Pad 5 | nabu | Android 13 oder höher |
Xiaomi Redmi Pad SE |
xun | Android 13 oder höher |
Anforderungen an Tablets mit Android 14 und niedriger
Tablets müssen eine Displaygröße von etwa 10 Zoll mit einer Bildschirmauflösung von mehr als 1.920 × 1.200 Pixel haben. Das Tablet darf die Pulsweitenmodulation (PWM) nicht zum Einstellen der Helligkeit verwenden. Der Wert für brightness
muss gemäß dem Tablet-Modell in config.yml
festgelegt werden.
In der folgenden Tabelle sind die für ITS-Tests empfohlenen Tablets sowie die Android-Releaseversionen für die DUT aufgeführt, mit denen die Tablets kompatibel sind.
Gerät | Displaygröße (Zoll) |
Displaygröße (Pixel) |
Tabletabmessungen (Zoll) |
Display helligkeit |
Display bits |
Unterstütztes Testgerät-Betriebssystem |
Unterstütztes Tablet-Betriebssystem |
---|---|---|---|---|---|---|---|
Samsung Galaxy Tab A8 |
10.5 | 1920 × 1200 | 9,72 × 6,37 × 0,27 | 192 | 8 | Android 13 oder höher | Android 11 oder höher |
Xiaomi Pad 5 |
11 | 2560 x 1600 | 10,03 × 6,55 × 0,27 | 1024 | 11 | Android 12 und höher | Nur Android 11 |
Lenovo Tab M10 Plus |
10.3 | 1920 × 1200 | 9,61 × 6,03 × 0,32 | 192 | 8 | Android 12 und höher | Android 9 oder höher |
Samsung Galaxy Tab A7 |
10.4 | 2.000 × 1.200 | 9,75 × 6,2 × 0,28 | 192 | 8 | Android 12 und höher | Android 10 oder höher |
Chuwi Hi9 Air 10.1 |
10.1 | 2560 x 1600 | 9,52 × 6,77 × 0,31 | 192 | 8 | Android 7 oder höher | Android 8 oder höher |
Asus ZenPad 3 |
9.7 | 2048 × 1536 | 9,47 × 6,44 × 0,28 | 192 | 8 | Android 7 oder höher | Android 6 oder höher |
Huawei MediaPad m5 |
10.8 | 2560 x 1600 | 10,18 × 6,76 × 0,29 | 192 | 8 | Android 7 oder höher | Android 8 oder höher |
Google Pixel C |
10.2 | 2560 × 1800 | 9,53 × 7,05 × 0,28 | 96 | 8 | Android 7 oder höher | Android 6 oder höher |
Sony Xperia Z4 |
10.1 | 2560 x 1600 | 10 × 6,57 × 0,24 | 192 | 8 | Android 7 oder höher | Android 5 oder höher |
Häufig gestellte Fragen
Frage 1: Wie finde ich heraus, welche Teststände für mein Gerät erforderlich sind?
Im
RFoV ITS-in-a-box-Revision 1 werden RFoV-Kameras für Tablet-Szenentests im Verzeichnis
CameraITS/tests
getestet. Der RFoV ist definiert als 60° < FoV < 90°. Bei Kameras mit größerem Sichtfeld sind die Lampen möglicherweise auf den Bildern zu sehen oder die Diagramme decken einen zu kleinen Bereich im Sichtfeld ab, was sich auf die Testergebnisse auswirken kann.
Mit der WFoV ITS-in-a-box-Version 2 werden WFoV-Kameras für Tablet-Szenentests im Verzeichnis
CameraITS/tests
getestet. Der Weitwinkel-FOV wird als FoV >= 90° definiert. Das Testgestell der Version 2 ist funktional mit der Version 1 identisch, aber größer. Mit dem Testaufbau der Version 2 können sowohl RFoV- als auch WFoV-Kameras unter Android 9 und höher getestet werden. Aufgrund des größeren Platzbedarfs ist Version 2 ideal, wenn es sich bei der DUT um ein Tablet handelt.
Mit dem modularen Stativ
werden Weitwinkelkameras für Tablet-Szenentests im Verzeichnis
CameraITS/tests
getestet. Der Weitwinkel wird als FoV >= 90° definiert. Mit dem modularen Stativ können sowohl RFoV- als auch WFoV-Kameras für Geräte mit Android 9 und höher getestet werden.
Außerdem wird das Tele-Verlängerungs-Rig unterstützt, das an Telekameras mit einer längeren Mindestfokusdistanz angebracht werden kann. Das modulare Basisgestell ist funktional mit dem WFoV ITS-in-a-Box identisch, aber kleiner.
Mit dem
Sensor Fusion Box werden der Zeitversatz zwischen Kamera und Gyroskop sowie die Frame-Synchronisierung von Systemen mit mehreren Kameras mithilfe von Tests in scenes=sensor_fusion
geprüft. Für das REALTIME
-Funktionsflag ist eine Kamera-/Gyroskop-Zeitabweichung von weniger als 1 ms erforderlich.
Geräte mit mehreren Kameras können mit einem einzigen Testaufbau für statische ITS-Tests und mit einem Sensorfusions-Testaufbau getestet werden, wenn die Kamera die REALTIME
-Funktionsflag hat.
In der folgenden Tabelle finden Sie einige Beispielkonfigurationen.
Verwendungsbeispiele | Kamera-FOVs | IN REALTIME? | Empfohlene Rigs | Hinweise |
---|---|---|---|---|
1 | 75° | Nein | Modulare Basis, Rev 1 oder Rev 2 | Android 7.0 oder höher |
2 | 75° | Ja | Modulare Basis, Rev 1 oder Rev 2 und Sensorfusion | Android 9 oder höher |
3 | 75° + 95° | Ja | Modulare Basis oder Rev 2 und Sensorfusion | Android 9 oder höher |
4 | 75° + 95° + 20° | Ja | Modulare Basis, Teleobjektiv und Sensorfusion | Android 9 oder höher |
5 | 75° + 95° Tablet | Nein | Rev 2 | Android 9 oder höher |
Frage 2: Wie lege ich fest, welches Testgerät verwendet wird?
Achten Sie darauf, dass der Diagrammabstand korrekt ist, um das richtige Testgerät zuzuweisen. Das Testgestell der Version 1 (RFoV) hat einen Abstand von 31 cm zum Diagramm und das Testgestell der Version 2 (WFoV) einen Abstand von 22 cm. Standardmäßig ist der Abstand zum Diagramm auf 31 cm eingestellt.
Von Android 10 auf Android 11
Wenn Sie das richtige Testgerät unter Android 10 bis 11 ermitteln möchten, fügen Sie der Befehlszeile das Flagdist
hinzu. Der Standardwert für dist
ist 31
. Führen Sie den folgenden Befehl aus, um den Parameter chart_distance
zu ändern.
python tools/run_all_tests.py ... chart=# dist=22
Android 12 und höher
Um das richtige Testgerät unter Android 12 und höher zu identifizieren, können Sie die Datei „config.yml“ bearbeiten und den Parameterchart_distance
ändern.
edit config.yml chart_distance: 31.0 → chart_distance: 22.0
F3: Wie kann ich die Helligkeit des Tablets regeln?
Standardmäßig ist die Helligkeit des Tablets auf 96 eingestellt.
So ändern Sie die Helligkeit auf Tablets mit Android 7.0 bis Android 9:
edit tools/wake_up_screen.py DISPLAY_LEVEL=96 → DISPLAY_LEVEL=192
Wenn Sie die Helligkeit auf Tablets mit Android 10 bis 11 ändern möchten, können Sie den Wert in der Befehlszeile ändern, indem Sie das Flag brightness
hinzufügen:
python tools/run_all_tests.py device=# camera=# chart=# brightness=192
So ändern Sie die Helligkeit auf Tablets mit Android 12 und höher:
edit config.yml brightness: 96 → brightness: 192
Frage 4: Wie kann ich einen einzelnen Test debuggen?
Tests können zu Debugging-Zwecken einzeln ausgeführt werden, die Ergebnisse werden jedoch nur an CtsVerifier.apk
gesendet, wenn die gesamte Szene ausgeführt wird.
So führen Sie eine einzelne Szene unter Android 11 und niedriger aus:
- Laden Sie eine Szene, indem Sie das Flag
scenes
intools/run_all_tests.py
hinzufügen:python tools/run_all_tests.py device=# camera=# chart=# scenes=#
-
Drücken Sie Strg + C, um die Tests zu beenden, nachdem die Szene in
stdout
geladen wurde.Wenn die gewünschte Szene bereits auf dem Display angezeigt wird, aktivieren Sie das Display:
python tools/wake_up_screen.py screen=#
-
Einen einzelnen Test ausführen
python tests/scene#/test_*.py device=# camera=#
Die Grafiken werden dann im lokalen Verzeichnis generiert und
stdout
undstderr
werden auf dem Bildschirm ausgegeben.Wenn Sie mehr Informationen zur Fehlerbehebung erhalten möchten, fügen Sie dem Script
print
-Anweisungen hinzu. Wenn Sie die Testausgabe für die Fehlerbehebung erhöhen möchten, fügen Sie das Flagdebug=True
hinzu.python tests/scene#/test_*.py device=# camera=# debug=True
Wenn Sie tools/run_all_tests.py
ausführen, werden die Ergebnisse auf dem lokalen Bildschirm ausgegeben und Bilder werden im lokalen Verzeichnis anstelle des generierten /tmp/tmp###
-Verzeichnisses gespeichert.
So führen Sie eine einzelne Szene unter Android 12 und höher aus:
-
Bearbeiten Sie die Datei
config.yml
.edit config.yml camera: <camera-id> → camera: 0 scene: <scene-name> → scene: scene1_1
-
Führen Sie den einzelnen Test aus.
python tools/run_all_tests.py -c config.yml --test_bed TEST_BED_TABLET_SCENES
Die Ergebnisse werden im Verzeichnis /tmp/logs/mobly/TEST_BED_TABLET_SCENES/
nach Laufzeit sortiert ausgegeben.
Frage 5: Warum muss ich fehlgeschlagene Tests als ganze Szene ausführen, anstatt sie einzeln noch einmal auszuführen?
Tests können zur Fehlerbehebung einzeln ausgeführt werden, die Ergebnisse werden jedoch nur an CtsVerifier.apk
gesendet, wenn die gesamte Szene ausgeführt wird.
Die Kamera-ITS-Funktion sorgt dafür, dass Drittanbieter-Apps eine kompatible Kameraoberfläche haben. Ähnlich wie bei einem Unittest wird bei jedem Test eine einzelne Spezifikation der Kamera beansprucht. Um unzuverlässiges Verhalten zu erkennen, sollten diese Tests für eine gesamte Szene als Gruppe bestanden werden. Ein einzelner unzuverlässiger Test kann beispielsweise bei einer Wiederholung einer ganzen Szene bestehen, aber es ist schwierig, dass mehrere unzuverlässige Tests bestehen.
Angenommen, in einer Szene gibt es 10 Tests, bei denen jeweils mit einer Wahrscheinlichkeit von 50% PASS
zurückgegeben wird. Wenn jeder Test einzeln durchgeführt wird, besteht eine hohe Wahrscheinlichkeit, dass der Betreiber die Kamera so einstellen kann, dass sie den Kamera-ITS-Test besteht. Wenn die Tests jedoch als Szene zusammengefasst ausgeführt werden, besteht nur eine Wahrscheinlichkeit von 0,1 %, dass die Szene bestanden wird.
Frage 6: Wie kann ich eine einzelne Szene ausführen oder die Laufszenen neu anordnen?
Standardmäßig führt das Script tools/run_all_tests.py
alle Szenen der Reihe nach aus. Szenen können jedoch einzeln oder in einer bestimmten Reihenfolge ausgeführt und an CtsVerifier.apk
gesendet werden.
So führen Sie unter Android 11 oder niedriger eine einzelne Szene (z. B. Szene 2) oder mehrere Szenen in einer bestimmten Reihenfolge aus:
python tools/run_all_tests.py device=# camera=# chart=# scenes=2
python tools/run_all_tests.py device=# camera=# chart=# scenes=3,2
So führen Sie unter Android 12 und höher eine einzelne Szene oder mehrere Szenen in einer bestimmten Reihenfolge aus:
python tools/run_all_tests.py scenes=2
python tools/run_all_tests.py scenes=3,2
Die zusätzlichen Parameter werden in der Datei config.yml
festgelegt.
Frage 7: Einige Tests für Szene 1 schlagen mit der Tablet-Einrichtung fehl, werden aber mit einem Papierdiagramm bestanden. Woran liegt das?
Achten Sie darauf, dass das Tablet und die Testumgebung die folgenden Spezifikationen erfüllen.
Tablet-Spezifikationen
Das Tablet muss die folgenden Spezifikationen erfüllen:
- Displaygröße (Zoll): 10 Zoll
- Displaygröße (Pixel): größer als 1.920 × 1.200 Pixel
Weitere Informationen finden Sie unter Anforderungen an Tablets.
Helligkeit des Tablets
Die Tests liefern möglicherweise keine korrekten Ergebnisse, wenn die Displayhelligkeit des Tablets zu niedrig ist.
Weitere Informationen finden Sie unter Wie kann ich die Helligkeit des Tablets steuern?
Beleuchtungsstärke der Verpackung (Lichtmessgerät erforderlich)
Der Ziellux-Wert beim Öffnen des Tablets muss zwischen 100 und 300 liegen.
Wenn der Lux-Wert zu hoch ist, wird FAIL
zurückgegeben.scene1/test_param_flash_mode.py
Wenn der Lux-Wert zu niedrig ist, schlagen mehrere Tests fehl.
F8: Wie kann ich Sensorfusionstests beheben?
Sie müssen Mitglied einer
dialout
-Gruppe sein.groups | egrep ‘dialout'
Prüfen Sie, ob der Sensorfusionscontroller verbunden ist, indem Sie feststellen, ob die Microchip-Technologie mit dem USB-Anschluss verbunden ist.
lsusb … Bus 003 Device 004: ID 04d8:fc73 Microchip Technology, Inc. …
Führen Sie den Test mit den folgenden Befehlen mehrmals aus, um eine Verteilung der Testversuche zu erhalten.
Android 11 oder niedriger:
python tools/run_sensor_fusion_box.py device=A camera=0 num_runs=10 rotator=default
Android 12 und höher:
python tools/run_sensor_fusion_box.py num_runs=10
Die zusätzlichen Parameter werden in der Datei
config.yml
festgelegt.Die Ausführungsergebnisse befinden sich im Ordner
/tmp/tmp###
, der unter den Ordnernsensor_fusion_#
erstellt wurde. Dabei steht#
für die Ausführungsnummer. Häufige Gründe für Fehler sind:- Das Smartphone ist nicht richtig zentriert.
- Im Bild sind nicht genügend Elemente zu sehen (häufig ein Problem mit dem Sichtfeld oder der Beleuchtung).
- Der zurückgegebene Wert
FAIL
ist gültig und die Zeitabweichung zwischen Kamera und Gyroskop muss korrigiert werden.
Frage 9: Welche Informationen sollte ich bei der Meldung eines Testfehlers angeben?
Wenn Sie einen Testfehler melden, fügen Sie die für den Test generierten Dateien und Bilder hinzu.
- Wenn Sie den Test über
tools/run_all_tests.py
ausgeführt haben, hängen Sie dem Fehler ein gezipptes/tmp/
-Verzeichnis an. - Wenn Sie den Test alleine ausgeführt haben, hängen Sie alle Bildschirmausgaben und generierten Bilder an den Fehler an.
Fügen Sie auch einen Fehlerbericht bei. Wenn der betreffende Test fehlschlägt, verwenden Sie den folgenden Befehl, um einen Fehlerbericht zu generieren und die generierte ZIP-Datei an den Fehler anzuhängen.
adb -s device_id bugreport
Frage 10: Wie führe ich eine Testszene für die Sensorfusion mit einer Kamera aus, die bei einer Mindestfokusdistanz unscharfe Bilder bei einer Entfernung von 25 cm zum Testchart erzeugt?
Wenn die Kamera in einem Abstand von 25 cm nicht scharfstellen kann, entfernen Sie die Wandhalterung des Sensorfusionskastens. Platzieren Sie das Diagramm in einer Entfernung, in der das DUT scharfstellen kann, und ändern Sie chart_distance
in config.yml
in die gemessene Entfernung zwischen dem DUT und dem Diagramm. Abbildung 5 zeigt ein Beispiel dafür, wie Sie in diesem Fall die Diagrammdistanz messen.
edit config.yml chart_distance: 25 → chart_distance: DISTANCE_BETWEEN_DUT_AND_CHART
Frage 11: Wie führe ich Tablet-Testszenen für eine Kamera mit einer Mindestfokusdistanz durch, die bei einer Entfernung von 31 cm zum Testchart unscharfe Bilder erzeugt?
Wenn Ihre Kamera bei einem Testabstand von 31 cm (Tiefe des RFoV-Testgestells) nicht scharf genug ist, bringen Sie die Kamera vor dem Gestell in einem Abstand an, der es ermöglicht, dass die Diagrammszene etwa 60% des Kamerasichtfelds (FoV) mit schärferen Bildern füllt. Dieser Abstand kann kleiner als die minimale Brennweite der Kamera sein. Lassen Sie die chart_distance
in config.yml
auf 31 cm. Die Diagrammskalierung auf dem Tablet wird vom Sichtfeld der Kamera bestimmt, wie in der folgenden Tabelle dargestellt:
Kamera-Bildwinkel | Skalierungsfaktor für Diagramme |
---|---|
60 > FoV > 40 | 0,67-fach |
40 > Blickwinkel > 25 | 0,5-fach |
Blickwinkel < 25 | 0,33-fach |
Frage 12: Welche Tests werden mit der logischen Multi-Kamera-API auf welchen Kameras ausgeführt?
Wenn für Ihre Kamera
REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
verwendet wird, werden alle unterstützten ITS-Tests auf der logischen Kamera der obersten Ebene ausgeführt. Ein Teil der ITS-Tests wird auf den physischen Unterkameras ausgeführt. Diese Tests sind in tools/run_all_tests.py
unter der Konstante SUB_CAMERA_TESTS
aufgeführt.