Esempio di Sauce Labs XCUITest

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

Consenti al tuo team di concentrarsi sull'identificazione e sulla risoluzione dei problemi di accessibilità sui dispositivi reali di Sauce Labs.

Not for use with personal data

Utilizzando axe DevTools Mobile, puoi trovare problemi di accessibilità nei test dell'interfaccia utente. Integra il tuo test con Sauce Labs e ottieni informazioni sull'esperienza del tuo pubblico con la tua app, prima ancora che l'abbiano vista! Ciò non comporta sforzi aggiuntivi da parte del tuo team. Sauce Labs è la più grande piattaforma di test basata su cloud, che ospita varie configurazioni di dispositivi ed emulatori per aumentare la tua sicurezza digitale. Configura i tuoi test in modo che vengano eseguiti su Sauce all'interno della tua attuale automazione di build per individuare i problemi prima che raggiungano la produzione.

Di seguito è riportata una guida per eseguire test dell'interfaccia utente integrati con axe DevTools Mobile e Sauce Labs.

Prerequisiti

  1. I tuoi UITest sono integrati con axe DevTools Mobile per iOS. Se necessario, consulta la nostra guida introduttiva .
  2. Prepara la tua app per la distribuzione. Poiché i test su Sauce Labs vengono eseguiti su dispositivi reali, disporre dell'app e dei target UITest predisposti prima di inviarli al servizio per la ri-firma renderà il processo più fluido.
  3. Installa l'interfaccia della riga di comando saucectl e configura le tue credenziali Sauce Labs. Seguire le istruzioni di Sauce Labs.
tip

Cerchi un esempio? Il nostro progetto iOS di esempio ha un'integrazione pronta per essere testata.

  1. Verifica di possedere i prerequisiti.
  2. Scarica il progetto di esempio da Github
  3. Apri una finestra del Terminale, digita cd, quindi trascina e rilascia axe-devtools-ios-sample-app dal Finder nella finestra del Terminale. Premi invio.
  4. Nella stessa finestra, digita sh prepareForSauce.sh. Premi invio.

Aggiungi la configurazione di Sauce Labs

Sauce Labs utilizza un file che si trova nella radice del progetto in yaml . .sauce/config.yml Di seguito è riportato il file di configurazione di esempio:

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"

Impostazione della Build

warning

Sauce Labs supporta i test solo su "dispositivi reali" con XCUITests. Scopri di più sull' integrazione di Sauce Labs con XCUI.

Dalla cartella principale del progetto nel Terminale, chiama il seguente comando per creare build di dispositivi senza dover avere un dispositivo collegato al computer:

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

Questo comando genererà due file app che si trovano in ./DerivedData/Build/Products/Debug-iphoneos/: la tua applicazione iOS e i tuoi test dell'interfaccia utente (che terminano con UITests-Runner).

Quindi, convertire in file entrambi i file dell'applicazione. .ipa Seguire le istruzioni di Sauce Labs per creare file IPA.

Una volta creati i file .ipa, crea una cartella apps nella directory del progetto e aggiungervi entrambi i file .ipa.

Esegui il seguente comando per inviare i file .ipa a Sauce Labs e iniziare i test:

saucectl run
note

Stai utilizzando ulteriori strumenti di integrazione continua? Sauce Labs supporta i test nel tuo ambiente attuale. Scopri di più sull'integrazione con la tua pipeline CI e Sauce Labs .

Automazione

Una volta verificato che le configurazioni siano state impostate correttamente, sei pronto per automatizzare questo processo! Di seguito abbiamo incluso uno script per creare automaticamente file .ipa per i dispositivi, caricarli su Sauce Labs ed eseguire i test XCUITests. Il tuo team può anche utilizzare questo script per richiamare manualmente un'esecuzione di test su Sauce Labs.

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