O que asc-shots-pipeline faz?
Orquestre a automação de capturas de tela do iOS com xcodebuild/simctl para build e execução, AXe para ações de UI, arquivos JSON de configuração e plano, enquadramento baseado em Koubou (asc screenshots frame) e upload de capturas (asc screenshots upload). Use quando os usuários solicitarem captura automatizada de telas, fluxos de simulador orientados por AXe, composição de molduras ou pipelines de upload de capturas.
Funcionalidades
- Build e execução: Compile o projeto com
xcodebuilde inicie o simulador comsimctl. - Ações de interface: Use
AXepara interagir com elementos da UI e capturar telas. - Configuração baseada em JSON: Defina configurações e planos de captura em arquivos JSON.
- Enquadramento: Aplique molduras às capturas usando
asc screenshots frame(Koubou). - Upload: Envie as capturas para a App Store Connect com
asc screenshots upload.
Pré-requisitos
- Xcode 15+ instalado.
- Ferramentas de linha de comando (
xcodebuild,simctl). - Node.js (para scripts auxiliares, se necessário).
- Configuração do
asc(App Store Connect) para upload.
Como usar
-
Configure o plano: Crie um arquivo
plan.jsoncom os dispositivos, idiomas e ações desejadas. -
Execute o pipeline:
# Exemplo de comando para build e captura xcodebuild -project App.xcodeproj -scheme App -destination 'platform=iOS Simulator,name=iPhone 15' build-for-testing simctl boot "iPhone 15" # Use AXe para navegar e capturar axe run --config config.json --plan plan.json --output screenshots/ -
Enquadre as capturas:
asc screenshots frame --input screenshots/ --output framed/ -
Faça upload:
asc screenshots upload --path framed/ --app-id 123456789
Estrutura de arquivos
.
├── plan.json # Plano de captura (dispositivos, idiomas, ações)
├── config.json # Configurações do AXe
└── screenshots/ # Diretório de saída
Exemplo de plan.json
{
"devices": ["iPhone 15", "iPad Pro (12.9-inch)"],
"languages": ["en-US", "pt-BR"],
"actions": [
{
"name": "Tela Inicial",
"screenshot": "home.png",
"steps": [
{ "type": "wait", "duration": 2 },
{ "type": "screenshot" }
]
},
{
"name": "Tela de Configurações",
"screenshot": "settings.png",
"steps": [
{ "type": "tap", "element": "Settings" },
{ "type": "wait", "duration": 1 },
{ "type": "screenshot" }
]
}
]
}
Dicas
- Sempre verifique se o simulador está na orientação correta antes de capturar.
- Use nomes únicos para cada captura para evitar sobrescrita.
- Para pipelines CI/CD, configure variáveis de ambiente como
APP_IDeAPI_KEYpara upload.
Solução de problemas
- Erro de build: Verifique se o esquema e o destino estão corretos.
- Elemento não encontrado pelo AXe: Ajuste os seletos no plano ou aumente o tempo de espera.
- Falha no upload: Confirme as credenciais do App Store Connect e o ID do app.