Od 27 marca 2025 r. zalecamy używanie android-latest-release
zamiast aosp-main
do kompilowania i wspołtworzenia AOSP. Więcej informacji znajdziesz w artykule o zmianach w AOSP.
Uruchamianie testów zautomatyzowanych (Android 11 lub nowszy)
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Testy automatyczne CTS można przeprowadzać na 2 sposoby:
Trade Federation to platforma aplikacji i testów, która umożliwia uruchamianie testów z poziomu wiersza poleceń. Framework umożliwia dodawanie adnotacji do testów za pomocą adnotacji @Test
, a aplikacja znajduje i uruchamia te testy.
OmniLab Android Test Station to aplikacja, która umożliwia uruchamianie testów w interfejsie graficznym.
Z tej strony dowiesz się, jak przeprowadzać testy automatyczne za pomocą Trade Federation. Instrukcje dotyczące uruchamiania testów za pomocą zestawu testowego OmniLab na Androida znajdziesz w artykule Stacja testowa OmniLab na Androida.
Przeprowadzanie wszystkich zautomatyzowanych testów CTS
Federacja handlowa zawiera konsolę CTS, czyli interfejs wiersza poleceń do uruchamiania testów. Aby uruchomić cały automatyczny zestaw testów CTS:
- Upewnij się, że postępujesz zgodnie z instrukcjami podanymi w artykule Konfigurowanie automatycznego testowania CTS.
Na testowej stacji roboczej uruchom konsolę CTS, uruchamiając skrypt cts-tradefed
z folderu, w którym rozpakowano pakiet CTS:
./android-cts/tools/cts-tradefed
Konsola CTS wyświetla kursor, za pomocą którego możesz wpisywać polecenia CTS (cts-tradefed >
).
Plan testów cts
zawiera wszystkie automatyczne testy CTS. Aby uruchomić plan testów cts
, uruchom to polecenie:
run cts
Automatyczne testy CTS są wykonywane. Uwaga:
Android 13 i nowsze wersje obsługują testowanie na wielu urządzeniach. Te testy są przeprowadzane automatycznie tylko wtedy, gdy używasz podziału. Więcej informacji o dziedziczeniu znajdziesz w artykule Skracanie czasu wykonywania testów. Jeśli chcesz uruchomić te testy ręcznie, zapoznaj się z artykułem Uruchamianie testów na wielu urządzeniach.
Podczas uruchamiania CTS naciśnij Ctrl + C, aby zatrzymać istniejące okno konsoli CTS, a następnie uruchom ponownie konsolę CTS.
Nie można uruchomić wielu wersji CTS na jednym hoście, ponieważ każda z nich otwiera się z dotychczasowym serwerem z otwartym kodem lokalizacji (OLC).
wyświetlać wyniki testu. Więcej informacji znajdziesz w artykule Interpretowanie wyników testu CTS.
Jeśli jest to pierwszy test, niektóre testy mogą się nie udać z powodu problemów, na które nie masz wpływu. Może to być spowodowane na przykład wolnym połączeniem sieciowym lub słabym sygnałem GPS. Uruchom ponownie testy (ponownie) do czasu, aż wszystkie moduły testowe zostaną ukończone, a liczby błędów testów będą takie same w przypadku ostatnich 2 sesji ponownego uruchamiania:
run retry --retry session_number`
Gdy nieudane testy są konsekwentne podczas kolejnych prób, skup się na debugowaniu pozostałych nieudanych testów. Informacje o rozwiązywaniu problemów z wynikami testów znajdziesz w artykułach Rozpoznawanie błędów testów i Rozwiązywanie problemów z testami CTS.
Uruchamianie CTS na urządzeniach wieloekranowych
Jeśli masz urządzenie z Androidem 11 lub 12, które ma kilka ekranów, musisz osobno uruchomić plan testów cts-foldable
:
run cts-foldable
Przypadki testowe, które zakończyły się powodzeniem lub niepowodzeniem w trybie alternatywnego ekranu, są dołączane z wartością z display_mode
, np. testcase1[display_mode=0]
.
Uruchamianie testów na wielu urządzeniach (Android 15 lub starszy)
Aby uruchomić plan testów cts-multidevice
, uruchom to polecenie:
run cts-multidevice
Uruchamianie poszczególnych planów testów
Zamiast uruchamiać wszystkie plany testów jednocześnie, możesz uruchomić poszczególne plany testów. Ta opcja pozwala zaoszczędzić czas i skupić się na określonym zestawie testów.
Aby uruchomić pojedynczy plan testów:
Określ nazwę planu testowego, który chcesz uruchomić, wykonując polecenie list modules
.
Przeprowadzanie planu testów:
run cts --plan test_module_or_plan_name
Skrócenie czasu wykonywania testów
Jeśli chcesz skrócić czas wykonywania testów, możesz podzielić je na kilka urządzeń. Aby korzystać z podzielenia, host musi połączyć co najmniej 2 urządzenia, ale dla lepszej wydajności zalecamy połączenie co najmniej 6 urządzeń.
Aby podzielić testy na fragmenty na Androidzie 11 lub nowszym, wykonaj te czynności:
run cts --shard-count number_of_shards
Dodatkowo przed uruchomieniem testów w celu ich zatwierdzenia możesz skrócić czas ich wykonywania, używając polecenia CTS run cts-dev
. To polecenie pomija warunki wstępne, zbieranie informacji o urządzeniu i wszystkie sprawdzanie stanu systemu.
Testy są też wykonywane tylko na jednym ABI.
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-30 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-07-30 UTC."],[],[],null,["# Run automated tests (Android 11 or higher)\n\nThere are two options for running CTS automated tests:\n\n- *Trade Federation* is an app and test framework that lets you\n run tests from the command line. Fundamentally, the framework\n lets you annotate tests using the `@Test` annotation and the app finds and runs\n those tests.\n\n- *OmniLab Android Test Station* is an app that lets you run tests\n in a GUI.\n\nThis page explains how to run automated tests using Trade Federation. For\ninstructions on running tests using OmniLab Android Test Harness, see\n[OmniLab Android Test Station](/docs/core/tests/development/android-test-station/ats-user-guide).\n\nRun all automated CTS tests\n---------------------------\n\nTrade Federation contains the *CTS console*, a command-line interface for\nrunning tests. To run the entire automated CTS test suite:\n\n1. Ensure you have followed the instructions in [Set up CTS automated testing](/docs/compatibility/cts/setup).\n2. On your test workstation, launch the CTS console by running the `cts-tradefed` script from the folder where the CTS package has been unzipped:\n\n ./android-cts/tools/cts-tradefed\n\n The CTS console displays a cursor for you to type CTS commands\n (`cts-tradefed \u003e`).\n3. The `cts` test plan contains all of the automated CTS tests. Execute the\n following command to run the `cts` test plan:\n\n run cts\n\n The automated CTS tests execute. Note the following:\n - Android 13 and higher support multidevice testing. These tests run\n automatically only when sharding is used. For further information on sharding,\n see [Improve test execution time](#improve). If you want to run these tests\n manually, see [Run multidevice tests](#multi-device-testing).\n\n - Whenever running CTS, press **ctrl+c** to stop the existing CTS console\n and then rerun the CTS console.\n\n - You can't run multiple CTS versions on single host because each opens\n with an existing open location code (OLC) server.\n\n4. View test results. For more information, see [Interpret CTS results](/docs/compatibility/cts/interpret).\n\n5. If this is your first test run, there might be tests that fail due to issues beyond your control. For example, a network connection might be slow or a GPS signal might be weak. Rerun (retry) the tests until all test modules are completed and the test failure numbers are the same between the last two retry sessions:\n\n run retry --retry \u003cvar translate=\"no\"\u003esession_number\u003c/var\u003e`\n\n | **Note:** For implementation details for CTS retry, see [Use suite retry](/docs/core/tests/tradefed/testing/through-suite/suite-retry).\n | **Note:** For instructions on how to run a retry session on Android 10 or lower, see [Run CTS automated tests (AOSP 10 or lower)](/docs/compatibility/cts/run-older).\n6. After tests failures are consistent across retries, focus on debugging\n the remaining failed tests. For information on troubleshooting test\n results, see\n [Triage test failures](/docs/compatibility/cts/interpret#triaging-test-failures)\n and\n [Troubleshoot CTS tests](/docs/compatibility/cts/troubleshooting).\n\n| **Note:** For a list of all CTS console commands, see [CTS v2 command console](/compatibility/cts/command-console-v2).\n\nRun CTS for multiscreen devices\n-------------------------------\n\nIf your device is running Android 11 or 12, and your device has multiple\nscreens, you must run the `cts-foldable` test plan separately: \n\n run cts-foldable\n\nPassed or failed test cases for alternate screen mode are appended with the\nvalue from `display_mode`, for example, `testcase1[display_mode=0]`.\n| **Note:** For instructions on how to run the `cts-foldable` test plan for Android 10 or lower, see [Run CTS automated tests (Android 10 or lower)](/docs/compatibility/cts/run-older).\n\nRun multidevice tests (Android 15 or lower)\n-------------------------------------------\n\nExecute the following command to run the `cts-multidevice` test plan: \n\n run cts-multidevice\n\nRun individual test plans\n-------------------------\n\nInstead of running all test plans at once, you can run individual test plans.\nThis option is useful to save time and to focus on a specific set of tests.\nTo run an individual test plan:\n\n1. Identify the name of the test plan you want to run by executing the `list modules` command.\n\n | **Note:** For instructions on how to identify the module on Android 10 or lower, see [Run CTS automated tests (Android 10 or lower)](/docs/compatibility/cts/run-older).\n2. Run the test plan:\n\n run cts --plan \u003cvar translate=\"no\"\u003etest_module_or_plan_name\u003c/var\u003e\n\nImprove test execution time\n---------------------------\n\nIf you want to improve test execution time, you can shard tests across multiple\ndevices. Sharding requires the host to connect at least two devices, but six or\nmore devices are recommended for efficiency.\n\nTo shard tests on Android 11 or higher, run: \n\n run cts --shard-count \u003cvar translate=\"no\"\u003enumber_of_shards\u003c/var\u003e\n\nAdditionally, before running your tests for validation you can improve test\nexecution time by using the CTS `run cts-dev` command. This command skips\npreconditions, device-information collection, and all system status checkers.\nIt also runs the tests on only a single ABI."]]