Builds mobiles
Construisez, archivez et téléversez une application pour simulateur iOS ou un APK Android afin qu'Autonomy puisse exécuter des parcours mobiles dessus.
Les exécutions mobiles d'Autonomy nécessitent un build de votre application. Téléversez ce build une fois et réutilisez-le pour les exécutions manuelles, les exécutions de pull request et les exécutions planifiées jusqu'à la prochaine version.
Quoi téléverser
| Variable | Required | Description |
|---|---|---|
| iOS .app (.zip, .tgz, .tar.gz) | No | Bundle .app ciblant le simulateur, archivé avec l'app à la racine. Accepté par le tableau de bord et l'API d'artefacts. |
| Android .apk | No | Package Android standard. Accepté par le tableau de bord et l'API d'artefacts. |
| Android .aab | No | Android App Bundle. Accepté par le tableau de bord et l'API d'artefacts. |
Pour iOS, Autonomy a besoin d'un build simulateur car les exécutions s'effectuent sur des simulateurs cloud. Un .ipa signé construit pour iphoneos sera rejeté par le runner. Pour Android, .apk et .aab sont tous deux acceptés ; les exécutions installent l'artefact sur un émulateur cloud et le lancent par son nom de package.
Construire pour le simulateur iOS
Pour un projet Xcode standard, construisez avec xcodebuild :
xcodebuild -workspace ios/MyApp.xcworkspace \
-scheme MyApp \
-configuration Release \
-sdk iphonesimulator \
-destination 'generic/platform=iOS Simulator' \
-derivedDataPath ios/build \
buildLe bundle se trouve dans ios/build/Build/Products/Release-iphonesimulator/MyApp.app. Pour les projets Expo ou React Native, exécutez d'abord npx expo prebuild --platform ios, puis la même commande xcodebuild sur le workspace généré.
Pour les téléversements depuis le tableau de bord et l'API directe, archivez le bundle avant de l'envoyer. Gardez le bundle .app à la racine de l'archive afin qu'Autonomy puisse le décompresser sans deviner.
cd ios/build/Build/Products/Release-iphonesimulator
zip -r MyApp.app.zip MyApp.appConstruire pour Android
Pour un projet Android standard, construisez un APK de debug depuis la racine du projet. Les APK de debug s'installent sur les émulateurs sans signature.
./gradlew assembleDebugL'APK se trouve dans android/app/build/outputs/apk/debug/app-debug.apk. Pour les projets Expo ou React Native, exécutez d'abord npx expo prebuild --platform android, puis la même commande Gradle sur le projet généré.
Pour les builds App Bundle, utilisez ./gradlew bundleDebug et récupérez le .aab dans android/app/build/outputs/bundle/debug/. Les deux formats fonctionnent.
Téléverser depuis le tableau de bord
- Ouvrez le projet et passez à l'onglet Mobile.
- Cliquez sur Parcourir les fichiers et sélectionnez le
.app.zip/.app.tar.gz(iOS) ou le.apk/.aab(Android). - Attendez la fin du traitement du build.
- Ouvrez le test et choisissez le build téléversé sous Téléversement d'application.
- Pour les tests Android, confirmez que le nom de package correspond à l'APK. Autonomy le lit depuis le manifeste, mais vous pouvez le remplacer sur le test.
- Exécutez le test manuellement une fois pour confirmer que le build démarre et que le parcours atteint le premier point de contrôle.
Téléverser avec l'API d'artefacts
Pour la CI ou les agents, utilisez /api/artifacts/upload-url pour obtenir une URL de téléversement, envoyez le fichier vers cette URL, appelez /api/artifacts/scan avec le storageId retourné, puis transmettez ce storageId à /api/trigger.
Pour le schéma des endpoints et les réponses, consultez Artefacts dans la référence API.
Pour Android, transmettez platforms: ["android"], targets.android.storageId et targets.android.packageName. Pour iOS, transmettez platforms: ["ios"], targets.ios.storageId et targets.ios.bundleId. Si votre CI fournit déjà une URL HTTPS temporaire, vous pouvez ignorer le téléversement et utiliser artifactUrl avec sourceMode: "url".
Limitations
- iOS s'exécute uniquement sur des simulateurs cloud. La caméra, les invites biométriques (Face ID, Touch ID) et tout flux nécessitant un build signé pour appareil ne fonctionneront pas.
- Android s'exécute sur des émulateurs cloud. Les fonctionnalités purement matérielles (NFC, empreinte digitale, vraie caméra) ne sont pas simulées.
Dépannage
Le téléversement iOS est rejeté comme build pour appareil
Confirmez que le build a été produit avec -sdk iphonesimulator et une destination simulateur. Un bundle produit pour iphoneos est un build pour appareil et Autonomy le rejettera au téléversement.
Le téléversement Android est rejeté comme format incorrect
Autonomy n'accepte que .apk et .aab. Tout autre format est rejeté au moment du téléversement.
Le test ne trouve pas le build téléversé
Le build a été téléversé mais jamais rattaché au test. Ouvrez le test et choisissez le build téléversé sous Téléversement d'application avant de l'exécuter.
La CI sature les téléversements
Utilisez des environnements enregistrés pour les builds à réutiliser et des targets explicites pour les artefacts CI ponctuels. Réservez les téléversements du tableau de bord aux builds qu'un responsable de version choisit pour les exécutions de production.