Ejemplo de prueba XCUITest de Sauce Labs

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Permita que su equipo se concentre en identificar y resolver problemas de accesibilidad en dispositivos reales de Sauce Labs.

Not for use with personal data

Al usar axe DevTools Mobile, puede encontrar problemas de accesibilidad con sus pruebas de UI. Integre su prueba con Sauce Labs y obtenga información sobre la experiencia de su audiencia con su aplicación, ¡incluso antes de que la vean! Esto no implica ningún esfuerzo adicional por parte de su equipo. Sauce Labs es la plataforma de pruebas basada en la nube más grande, que alberga diversas configuraciones de dispositivos y emuladores para desarrollar su confianza digital. Configure sus pruebas para que se ejecuten en Sauce dentro de su automatización de compilación actual para detectar problemas antes de que lleguen a producción.

A continuación se muestra una guía para ejecutar sus pruebas de UI integradas con axe DevTools Mobile y Sauce Labs.

Prerrequisitos

  1. Sus UITests están integrados con axe DevTools Mobile para iOS. Si es necesario, consulte nuestra guía de inicio.
  2. Prepare su aplicación para su distribución. Dado que las pruebas en Sauce Labs se realizan con dispositivos reales, tener la aplicación y los objetivos de UITest aprovisionados antes de enviarlos a su servicio para re-firmarlos dará como resultado un proceso más fluido.
  3. Instale la interfaz de línea de comandos saucectl y configure sus credenciales de Sauce Labs. Siga las instrucciones de Sauce Labs.
tip

¿Busca un ejemplo? Nuestro proyecto iOS de muestra tiene una integración lista para probar.

  1. Verifique que tenga los prerrequisitos.
  2. Descargue el proyecto de muestra de Github
  3. Abra una ventana de Terminal, ingrese cd y luego arrastre y suelte axe-devtools-ios-sample-app desde el Finder a la ventana de Terminal. Presione retorno/enter.
  4. En la misma ventana, escriba sh prepareForSauce.sh. Presione retorno/enter.

Agregar configuración de Sauce Labs

Sauce Labs utiliza un archivo yaml en la raíz del proyecto ubicado en .sauce/config.yml. Vea el archivo de configuración de muestra a continuación:

apiVersion: v1alpha
kind: xcuitest
sauce:
  region: us-west-1
  concurrency: 1

xcuitest:
  app: "<app_name>.ipa"
  testApp: "<app_name>UITests-Runner.ipa"

suites:
  - name: "<app_name>UITests"
    devices:
      - name: "iPhone.*"
        platformVersion: "17.2"

Configuración de la construcción

warning

Sauce Labs solo admite pruebas en "dispositivos reales" con XCUITests. Obtenga más información sobre la integración de Sauce Labs con XCUI.

Desde la carpeta raíz de su proyecto en la Terminal, llame al siguiente comando para crear compilaciones de dispositivos sin necesidad de tener un dispositivo conectado a su computadora:

xcodebuild build-for-testing -configuration Debug \
                             -scheme "$APP_SCHEME" \
                             -target "$APP_UITEST_TARGET" \
                             -sdk iphoneos \
                             -derivedDataPath "./DerivedData"

Este comando generará dos archivos de aplicación ubicados en ./DerivedData/Build/Products/Debug-iphoneos/: su aplicación iOS y sus pruebas de UI (que terminan en UITests-Runner).

A continuación, convierta ambos archivos de la aplicación en archivos .ipa . Siga las instrucciones de Sauce Labs sobre cómo crear archivos IPA.

Una vez creados los archivos .ipa, cree una carpeta apps en el directorio del proyecto y agregue ambos archivos .ipa a ella.

Ejecute el siguiente comando para enviar los archivos .ipa a Sauce Labs y comenzar a realizar pruebas:

saucectl run
note

¿Está utilizando herramientas de integración continua adicionales? Sauce Labs admite pruebas dentro de su entorno actual. Obtenga más información sobre la integración con su canalización de CI y Sauce Labs.

Automatización

Una vez que haya confirmado que sus configuraciones están establecidas correctamente, ¡estará listo para automatizar este proceso! Hemos incluido un script a continuación para crear automáticamente archivos .ipa para dispositivos, cargarlos en Sauce Labs y ejecutar sus XCUITests. Su equipo también puede usar este script para invocar una ejecución de prueba en Sauce Labs manualmente.

APP_LOCATION="DerivedData/Build/Products/Debug-iphoneos"
APP_NAME="<app_name>"

rm -rf *.ipa

xcodebuild build-for-testing -configuration Debug \
       -scheme "<scheme_name>" \
       -target "<UITests target>" \
       -sdk iphoneos \
       -derivedDataPath "./DerivedData" \
       -quiet

mkdir Payload

mv $APP_LOCATION/$APP_NAME.app Payload
zip -r -qq "$APP_NAME.ipa" Payload
rm -rf Payload/*

mv $APP_LOCATION/${APP_NAME}UITests-Runner.app Payload
zip -r -qq "${APP_NAME}UITests-Runner.ipa" Payload

saucectl run

rm -rf Payload
rm -rf DerivedData