Para los dispositivos que ejecutan Android 6 o Android 7, puede probar el aprovisionamiento de dispositivos con el arnés de prueba de Android Enterprise (AE), que es un conjunto de pruebas para validar la compatibilidad empresarial de los dispositivos Android. El arnés incluye aplicaciones de apoyo, casos de prueba, archivos de configuración, y un corredor de prueba ( afw-test-tradefed
) construida sobre cts-tradefed
. Antes de instalar el instrumento de prueba AE, asegúrese de completar aprovisionamiento para la administración de dispositivos .
Para los dispositivos con Android 8 o superior, es obsoleto el uso del instrumento de prueba AE.
Configurar un entorno de desarrollo
El entorno de desarrollo para AE Test Harness es similar al sistema operativo Android. Siga los pasos de Requisitos para la creación de un equipo de desarrollo.
Descargando código fuente
Descargar el código fuente AE instrumento de prueba siguiendo los pasos de descarga de la Fuente . El código fuente AE instrumento de prueba se encuentra en la ./test/AfwTestHarness
proyecto. El nombre de la sucursal determina la versión de AE Test Harness para descargar (cada plataforma Android tiene una versión separada de AE Test Harness). Por ejemplo, el nombre de la sucursal para Android 7.0 Turrón es afw-test-harness-nougat-dev
. Para inicializar el repositorio y descargar el código fuente para esta rama, use los siguientes comandos:
mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
repo init -u https://android.googlesource.com/platform/manifest -b afw-test-harness-nougat-dev
repo sync -j24
Para consultar el código fuente de una versión diferente, especifique la rama con la etiqueta correspondiente. Las ramas disponibles incluyen:
Nombre de la sucursal | Plataforma Android compatible |
---|---|
afw-test-harness-turrón-dev | Android 7.0 |
arnés-de-prueba-afw-2.1 | Android 7.0 |
afw-test-harness-marshmallow-dev | Android 6.0 |
arnés-de-prueba-afw-1.5 | Android 6.0 |
Otros proyectos de dependencia necesarios para construir el arnés también se descargan con el código fuente.
Ver en Android Studio
Para ver y editar el código fuente en Android Studio:
- Ejecute los siguientes comandos
make idegen
development/tools/idegen/idegen.sh
- En Android Studio, abra
android.ipr
.
El código fuente AE instrumento de prueba está en test/AfwTestHarness
.
Configuración del arnés de prueba AE
Puede personalizar el arnés mediante la configuración test/AfwTestHarness/afw-test.props
. Para ejecutar el arnés correctamente, complete los siguientes pasos:
- Configurar la red Wi-Fi en
afw-test.props
con las siguientes propiedades:wifi_ssid wifi_password (optional) wifi_security_type (optional, available options are: NONE, WEP or WPA)
- Obtenga al menos una cuenta de un dominio que esté vinculado a Test DPC como su controlador de políticas de dispositivo. Especificar los detalles en
afw-test.props
con las siguientes propiedades:work_account_username work_account_password
El instrumento de prueba Prueba AE utiliza DPC a los flujos de aprovisionamiento de prueba, por lo que las cuentas deben unirse a prueba DPC para ejecutar el instrumento de prueba.
Construyendo el arnés de prueba AE
Inicialice la configuración de compilación usando:
source build/envsetup.sh
lunch
Seleccionar un tipo de dispositivo y pulse Intro.
Construya el arnés usando:
make afw-test-harness -j32
Esto crea un directorio ( out/host/linux-x86/afw-th/android-cts
) con todos los binarios necesarios, archivos de configuración y herramientas para ejecutar el instrumento de prueba. Este directorio también está comprimido en un archivo ( out/host/linux-x86/afw-th/android-afw-test-harness.zip
) para su distribución.
Ejecución del arnés de prueba AE
Utilice los siguientes pasos para ejecutar el arnés de prueba AE:
- En el entorno de construcción, poner en marcha el corredor de prueba usando:
afw-test-tradefed
Esto inicia elcts-tf
consola, planes de prueba cargas, casos de prueba, yafw-test.props
deout/host/linux-x86/afw-th/android-cts
. - A partir de la carpeta descomprimida de
android-afw-test-harness.zip
, poner en marcha el corredor de prueba usando:cts-tf> ./android‐cts/tools/afw-test‐tradefed
Este cargas planes de prueba, casos de prueba, yafw-test.props
deandroid-cts
directorio. Garantizar./android‐cts/repository/testcases/afw-test.props
tiene la cuenta de trabajo y la configuración Wi-Fi. - Ejecute un plan de prueba. Cada plan de pruebas es un archivo XML que contiene un conjunto de paquetes de prueba de la
AfwTestHarness/tests
directorio del paquete de prueba. Los planes comunes incluyen:-
afw-userdebug-build
. Contiene todos los paquetes de prueba que requieren una compilación de depuración de usuario. -
afw-user-build
. Se ejecuta en una compilación de usuario, pero requiere que el dispositivo de prueba se configure correctamente, lo que incluye completar la configuración inicial y habilitar la depuración de USB.
Para ejecutar el plan de pruebasafw-userdebug-build
, uso:cts-tf> run cts --plan afw-userdebug-build
a ver todos los planes de prueba, utilice el comandolist plans
. Para definiciones de vista del plan, consulteout/host/linux-x86/afw-th/android-cts/repository/plans
. -
- Ejecute un paquete de prueba. Para ejecutar un solo paquete de prueba, el uso
cts-tf> run cts --package com.android.afwtest.NfcProvisioning
Para ver todos los paquetes, utilice el comandolist packages
. Para obtener más opciones, utilice el comandorun cts --help
.
Depuración del arnés de prueba AE
Ejecutar todos los comandos de la consola tradefed-AFW-test ( cts-tf
), que se puede poner en marcha mediante la ejecución de afw-test-tradefed
.
- Mostrar más información con el
-l INFO
o-l DEBUG
banderas. Ejemplo:cts-tf> run cts ‐‐plan afw-userdebug-build -l DEBUG
- Ejecutar el instrumento de prueba en un dispositivo específico con la
-s
bandera. Ejemplo:cts-tf> run cts ‐‐plan afw-userdebug-build -l DEBUG -s device_sn
- Arnés de prueba de funcionamiento de todos los dispositivos conectados con el
--all-devices
bandera. Ejemplo:cts-tf> run cts ‐‐plan afw-userdebug-build -l DEBUG --all-devices
- Ver las ejecuciones de funcionamiento actuales usando
list invocations
oli
. - Ver resumen de las ejecuciones de las pruebas anteriores utilizando
list results
olr
. - Ver otros
list
comandos utilizandohelp list
. - Monitorear Logcat en tiempo real con filtro usando
afwtest
, a continuación, abra otro terminal y empezar Logcat usando:adb logcat | grep afwtest
. Después de que se completa una prueba:- Ver los registros de
out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time
. El dispositivo de Logcat completa y registro de host (afw-test-tradefed
registros) se guardan en archivos zip separadas. - Encontrar información relevante mediante la búsqueda en el dispositivo para Logcat afwtest. Ejemplo:
zless out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time /device_logcat_ random-number .zip | grep afwtest
- Para ver el registro completo tradefed-AFW-test, utilice:
zless out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time /host_log_ random-number .zip
- Ver los registros de
- Un paquete de prueba automatiza un flujo de aprovisionamiento empresarial pasando por las páginas de la interfaz de usuario y registrando un registro de navegación en el archivo logcat del dispositivo para cada página. Ejemplo:
afwtest.AutomationDriver: Navigating:com.android.afwtest.uiautomator.pages.gms.AddAccountPage
Páginas de interfaz de usuario para el paquete de pruebacom.android.afwtest.NfcProvisioning
incluyen:-
com.android.afwtest.uiautomator.pages.managedprovisioning.NfcProvisioningPage
-
com.android.afwtest.uiautomator.pages.PageSkipper
-
com.android.afwtest.uiautomator.pages.LandingPage
-
- Si una prueba fallida durante el proceso de aprovisionamiento, Logcat contiene un error similar al siguiente:
TestRunner: java.lang.RuntimeException: Failed to load page: com.android.afwtest.uiautomator.pages.packageinstaller.DeviceAccessPage
lo general, esto es causado por errores en una página de la interfaz de usuario anterior o la página que no se pudo cargar, por lo que tratar de encontrar otros mensajes de error en Logcat antes de este error , luego intente reproducirlo manualmente siguiendo el flujo de aprovisionamiento. - Si falla un paquete de prueba:
- Una captura de pantalla se guarda a
out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time
mediante la siguiente sintaxis:screenshot-test_ test_class_full_name _ test_case_name - random_number .png
. Esta información también se registra en el registro del host. - Un informe de error se guarda a
out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time
como:bug- test_class_full_name _ test_case_name - random_number .zip
.
- Una captura de pantalla se guarda a
- Después de todos los paquetes de prueba se ejecutan, una captura de pantalla se toma y se guarda a
out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time
como:screenshot- random_number .png
. Esta información también se registra en el registro del host.
Preguntas más frecuentes
¿Puedo ejecutar un plan de pruebas afw-userdebug-build
en un dispositivo flasheado con la acumulación de usuario?
Nº paquetes de prueba en el afw-userdebug-build
de la fábrica plan de reajustar el dispositivo de prueba antes de ejecutar el flujo de prueba real y requieren adb
depuración para ser auto-habilitado. Con una acumulación de usuario, adb
depuración sólo se puede activar por modificar manualmente la configuración en Opciones de desarrollador.
¿Puedo ejecutar un plan de pruebas afw-user-build
en un dispositivo brilló con construir depuración de usuario?
Sí, pero le recomendamos que ejecute este plan de prueba en una compilación de usuario.
A veces, mi prueba falla porque la carga de la interfaz de usuario lleva demasiado tiempo. ¿Cómo puedo arreglar esto?
Configurar el timeout_size
puesta en ./android-cts/repository/testcases/afw-test.props
. Los ajustes válidos son: S, M, L, XL, XXL.
El paquete de pruebas com.android.afwtest.NfcProvisioning
(o SuwDoProvisioning
) no aparece en el dispositivo debido a que los programas de configuración inicial instalados personalizados de interfaz de usuario (como término y condiciones) después de aprovisionamiento es completa. ¿Cómo puedo omitir esta interfaz de usuario personalizada?
Debe haber una interfaz de usuario mínima después del proceso de aprovisionamiento. El arnés de prueba omitirá automáticamente dicha interfaz de usuario si la interfaz de usuario tiene un botón que tiene un texto significativo o una descripción de contenido que contiene cualquiera de las siguientes palabras: Omitir, Finalizar, Listo, Aceptar, Aceptar, Siguiente, Continuar o Continuar. Como alternativa, se puede definir un botón en afw-test.props
para configurar el instrumento de prueba para omitir la interfaz de usuario. Ejemplo:
oem_widgets=your_btn your_btn.text=your_customized_text your_btn.package=your_package your_btn.action=click
Para definir varios widgets, sepárelos con comas.
El paquete de pruebas com.android.afwtest.NfcProvisioning
(o SuwDoProvisioning
) falló y la última pantalla de interfaz de usuario es "verificar su cuenta." ¿Por qué sucede esto y cómo puedo recuperar el dispositivo de prueba?
Esta falla ocurre porque el paquete de prueba anterior no pudo borrar la Protección de restablecimiento de fábrica al final de la prueba. Debe ingresar manualmente la cuenta para desbloquear el dispositivo.
Mi dispositivo necesita más tiempo para restablecerse de fábrica. ¿Puedo extender el tiempo de espera del restablecimiento de fábrica?
Si. Configurar el factory_reset_timeout_min
puesta en afw-test.props
. Los ajustes válidos están en minutos; puede establecer cualquier cantidad de minutos que funcione con su dispositivo.