Sauce Labs XCUITest-Beispiel

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

Geben Sie Ihrem Team die Möglichkeit, sich auf die Identifizierung und Lösung von Zugänglichkeitsproblemen auf echten Geräten von Sauce Labs zu konzentrieren.

Not for use with personal data

Mit axe DevTools Mobile können Sie Zugänglichkeitsprobleme bei Ihren UI-Tests finden. Integrieren Sie Ihren Test in Sauce Labs und erhalten Sie Einblicke in die Erfahrungen Ihrer Nutzer mit Ihrer App – bevor sie diese überhaupt gesehen haben! Für Ihr Team entsteht dadurch kein zusätzlicher Aufwand. Sauce Labs ist die größte Cloud-basierte Testplattform, die verschiedene Geräte- und Emulatorkonfigurationen hostet, um Ihr digitales Vertrauen aufzubauen. Konfigurieren Sie Ihre Tests so, dass sie innerhalb Ihrer aktuellen Build-Automatisierung auf Sauce Labs ausgeführt werden, um Probleme zu erkennen, bevor sie die Produktion erreichen.

Nachfolgend finden Sie eine Anleitung zum Ausführen Ihrer UI-Tests mit axe DevTools Mobile und Sauce Labs.

Voraussetzungen

  1. Ihre UITests sind in axe DevTools Mobile für iOS integriert. Sehen Sie sich unsere Anleitung für die ersten Schritte an, falls nötig.
  2. Bereiten Sie Ihre App für die Verteilung vor. Da die Tests bei Sauce Labs mit echten Geräten durchgeführt werden, sorgt die Bereitstellung der App- und UITest-Ziele vor dem Senden an den Dienst zur erneuten Signierung für einen reibungsloseren Ablauf.
  3. Installieren Sie die saucectl Befehlszeilenschnittstelle und richten Sie Ihre Sauce Labs-Anmeldeinformationen ein. Befolgen Sie die Anweisungen von Sauce Labs.
tip

Suchen Sie ein Beispiel? Unser iOS-Beispielprojekt verfügt über eine testbereite Integration.

  1. Überprüfen Sie, ob Sie die Voraussetzungen erfüllen.
  2. Laden Sie das herunter Beispielprojekt von Github
  3. Öffnen Sie ein Terminalfenster, geben Sie cd ein und ziehen Sie dann axe-devtools-ios-sample-app per Drag & Drop aus dem Finder in das Terminalfenster. Drücken Sie die Eingabetaste.
  4. Geben Sie im selben Fenster ein sh prepareForSauce.sh. Drücken Sie die Eingabetaste.

Sauce Labs Konfiguration hinzufügen

Sauce Labs verwendet eine yaml Datei im Projektstammverzeichnis unter .sauce/config.yml. Siehe die Beispielkonfigurationsdatei unten:

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"

Build-Setup

warning

Sauce Labs unterstützt nur Tests auf „echten Geräten“ mit XCUITests. Lesen Sie mehr über die Integration von Sauce Labs mit XCUI.

Rufen Sie aus dem Stammordner Ihres Projekts im Terminal den folgenden Befehl auf, um Geräte-Builds zu erstellen, ohne dass ein Gerät an Ihren Computer angeschlossen sein muss:

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

Dieser Befehl generiert zwei App-Dateien, die sich an folgendem Ort befinden: ./DerivedData/Build/Products/Debug-iphoneos/Ihre iOS-Anwendung und Ihre UI-Tests (mit der Endung UITests-Runner).

Konvertieren Sie anschließend beide Anwendungsdateien in .ipa Dateien. Befolgen Sie die Anweisungen von Sauce Labs zum Erstellen von IPA-Dateien.

Sobald die .ipa Dateien erstellt sind, erstellen Sie einen apps ordner im Projektverzeichnis und fügen Sie beide .ipa Dateien hinzu.

Führen Sie den folgenden Befehl aus, um die .ipa Dateien an Sauce Labs zu übertragen und mit dem Testen zu beginnen:

saucectl run
note

Verwenden Sie zusätzliche Tools zur kontinuierlichen Integration? Sauce Labs unterstützt Tests in Ihrer aktuellen Umgebung. Erfahren Sie mehr über die Integration mit Ihrer CI-Pipeline und Sauce Labs.

Automatisierung

Sobald Sie bestätigt haben, dass Ihre Konfigurationen richtig eingerichtet sind, können Sie diesen Prozess automatisieren! Wir haben unten ein Skript eingefügt, um automatisch .ipa Dateien für Geräte zu erstellen, sie in Sauce Labs hochzuladen und Ihre XCUITests auszuführen. Ihr Team kann dieses Skript auch verwenden, um manuell einen Testlauf auf Sauce Labs aufzurufen.

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