Que fait asc-shots-pipeline ?
Orchestrez l'automatisation des captures d'écran iOS avec xcodebuild/simctl pour la construction et l'exécution, AXe pour les actions UI, les fichiers de paramètres et de plan JSON, le cadrage basé sur Koubou (asc screenshots frame) et le téléchargement de captures (asc screenshots upload). Utilisez-le lorsque les utilisateurs demandent une capture d'écran automatisée, des flux de simulateur pilotés par AXe, la composition de cadres ou des pipelines de capture à téléchargement.
Aperçu
Ce pipeline permet d'automatiser la capture d'écran sur simulateur iOS en utilisant xcodebuild pour construire l'application, simctl pour lancer le simulateur, et AXe pour exécuter des actions UI (touchers, glissements, saisies). Les paramètres et les plans de capture sont définis dans des fichiers JSON. Ensuite, l'outil asc screenshots frame de Koubou applique un cadrage professionnel aux captures, et asc screenshots upload les téléverse directement sur App Store Connect.
Fonctionnalités
- Construction et exécution : Utilise
xcodebuildpour compiler l'application etsimctlpour lancer le simulateur avec les paramètres de langue et de région. - Actions UI avec AXe : Automatise les interactions dans le simulateur (clics, navigation, attentes) en suivant un plan JSON.
- Configuration par JSON : Fichiers
settings.json(langue, région, appareils) etplan.json(écrans, actions, délais). - Cadrage des captures : Commande
asc screenshots framepour ajouter un cadre d'appareil (Koubou). - Téléchargement : Commande
asc screenshots uploadpour envoyer les captures sur App Store Connect.
Prérequis
- Xcode installé avec au moins un simulateur iOS.
- AXe installé via
pip install axe-devtools. - Node.js (pour les commandes
ascsi nécessaire). - Compte développeur Apple avec accès App Store Connect.
Utilisation
1. Configurer l'environnement
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
2. Créer les fichiers de configuration
settings.json :
{
"language": "fr",
"region": "FR",
"devices": ["iPhone 14 Pro", "iPad (10e génération)"]
}
plan.json :
[
{
"screen": "accueil",
"actions": [
{"type": "tap", "selector": "BoutonConnexion"},
{"type": "wait", "duration": 2},
{"type": "screenshot", "name": "ecran-connexion"}
]
}
]
3. Exécuter le pipeline
# 1. Construire et lancer le simulateur
xcodebuild build -project VotreApp.xcodeproj -scheme VotreApp -destination 'platform=iOS Simulator,name=iPhone 14 Pro' CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO
# 2. Lancer AXe avec le plan
axe --plan plan.json --settings settings.json
# 3. Cadrer les captures
asc screenshots frame --input ./screenshots --output ./framed
# 4. Téléverser sur App Store Connect
asc screenshots upload --path ./framed --app-id 1234567890
Référence des commandes
| Commande | Description |
|---|---|
xcodebuild build | Construit l'application pour simulateur |
simctl boot | Démarre un simulateur spécifique |
axe | Exécute un plan de capture AXe |
asc screenshots frame | Cadre les captures (Koubou) |
asc screenshots upload | Téléverse les captures sur App Store Connect |
Dépannage
- Erreur de connexion AXe : Vérifiez que le simulateur est bien ouvert et que le service AXe est en cours d'exécution.
- Problème d'upload : Assurez-vous que les captures sont au format
.png, ne dépassent pas 10 Mo chacune, et que l'identifiant d'application est correct. - Délais d'attente : Ajustez les durées dans le fichier
plan.jsonsi les actions se produisent trop rapidement.
Pour plus de détails, consultez la documentation de l'outil asc-screenshots.