O documento discute a automação de testes móveis usando a ferramenta Calabash. Apresenta as principais diferenças entre Android e iOS, como fragmentação de versões e tamanhos de tela. Explica os passos para configurar e executar testes no Calabash para ambas as plataformas, incluindo a geração de builds, conexão de dispositivos e execução de especificações.
11. Calabash Android: Passo a Passo
- Gerar Apk (Android Studio/Terminal)
- Assinar Apk para criação do test server
- Conectar device/simulator
- Executar especificações
12. Assinar APK
calabash-android resign <apk>
Gerar APK
Android Studio
./gradlew assembleDebug (mac/linux)
gradlew.bat (windows)
Conectar devices/simulator
device em modo depuração (adb)
emulator -avd <nome_do_emulator> OU Android Studio
13. Executar especificações
Deve estar dentro do diretório onde estão as features
Apenas um device conectado:
calabash-android run <seu-apk> -p android
Mais de um device conectado:
ADB_DEVICE_ARG="id-do-device" calabash-android run
<seu-apk> -p android
16. Calabash iOS: Passo a Passo
- Configurar projeto no Xcode
- Gerar App com target do Calabash (Xcode/
Terminal)
- Verificar device/simulator conectados
- Executar especificações
17. Configurando o projeto no Xcode
calabash ios setup - Cria uma nova configuração de
build com o calabash.framework. Deve ser executado
dentro do diretório do projeto iOS
-cal Target - Uma cópia do target original gerado pelo
passo anterior. O build para teste deve ser feito nesse
target.
Fique atento, pois novas funcionalidades feitas pelos
devs ios devem ser linkadas a esse target também,
senão o build irá falhar.
19. Executar especificações
Deve estar dentro do diretório onde estão as features
Em simuladores:
APP_BUNDLE_PATH='<caminho-para-app>' DEVICE_TARGET='<id-
simulador>' cucumber -p ios
Em devices (deve estar na mesma rede que o mac):
APP_BUNDLE_PATH='<caminho-para-app>' DEVICE_TARGET='<id-
device>' DEVICE_ENDPOINT="<http://ip-do-device:37265>"
cucumber -p ios
21. Debugando
- Elementos para interagir com o app
- Query
- Console em Ruby
- Acesso aos métodos que você escreveu
- Resolução de erros
22. Debugando
Iniciando o console:
calabash-android console <apk>
APP_BUNDLE_PATH='.app/ipa' DEVICE_TARGET='id-device'
DEVICE_ENDPOINT ="http://ip-do-device:37265" calabash-ios console
e em seguida, iniciar a aplicação pelo console..
start_test_server_in_background
23. Exemplos de consultas no console
query "* id:'seu id'" <= Retorna os elementos ao id correspondente
query "* marked:'texto ou id'" <= Retorna os elementos ao texto/id correspondente
query "* id:'seu id'", :text <= Retorna o texto do elemento
result = query "* id:'seu id'" <= Adiciona o resultado a uma variável
query "*", :someMethod <= Acessa um método específico como :getError
query "* {text CONTAINS[c] 'text'}" <= Retorna qualquer string que tiver o texto da query
query "* id:'seu id' index:seu index" <= Retorna o elemento pelo index
30. Screen
Abstração de uma tela Android/iOS, na
forma de uma classe ruby, contendo os
elementos que serão utilizados no
momento da execução da especificação.
36. Links
- Site oficial do Calabash
- Github calabash android
- Github calabash iOS
- Github sunomono
37. www.concretesolutions.com.br
Rio de Janeiro – Rua São José, 90 – cj. 2121
Centro – (21) 2240-2030
São Paulo - Av. Nações Unidas, 11.541
3º andar - Brooklin - (11) 4119-0449
Ajudamos empresas a criar
produtos digitais de sucesso