Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Probar el aprovisionamiento de dispositivos

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:

  1. Ejecute los siguientes comandos
    make idegen
    development/tools/idegen/idegen.sh
    
  2. 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:

  1. 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)
    
  2. 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:

  1. En el entorno de construcción, poner en marcha el corredor de prueba usando:
    afw-test-tradefed
    
    Esto inicia el cts-tf consola, planes de prueba cargas, casos de prueba, y afw-test.props de out/host/linux-x86/afw-th/android-cts .
  2. 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, y afw-test.props de android-cts directorio. Garantizar ./android‐cts/repository/testcases/afw-test.props tiene la cuenta de trabajo y la configuración Wi-Fi.
  3. 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 pruebas afw-userdebug-build , uso:
    cts-tf> run cts --plan afw-userdebug-build
    
    a ver todos los planes de prueba, utilice el comando list plans . Para definiciones de vista del plan, consulte out/host/linux-x86/afw-th/android-cts/repository/plans .
  4. 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 comando list packages . Para obtener más opciones, utilice el comando run 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 o li .
  • Ver resumen de las ejecuciones de las pruebas anteriores utilizando list results o lr .
  • Ver otros list comandos utilizando help 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
  • 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 prueba com.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 .
  • 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.