Teste funcional com Calabash
Obs: Esse ambiente foi configurado em Linux/Ubuntu. Uma configuração similar em Windows possivel realizando os devidos ajustes
Instalação
do Calabash
1 - Instalar o Ruby
$
sudo apt-get install ruby-full
2 - Instalar o
Android SDK
$
sudo
apt update
$ sudo apt install android-sdk android-sdk-platform23$export ANDROID_HOME=/usr/lib/android-sdk$gradle build --init-script /usr/share/android-sdk-helper/init.gradle
3 - No Android SDK
Instalar os TODOS OS EXTRAS
- GPU Debugging
tools
- Android Support
repository
- Google USB Driver
- Google WEB Driver
… etc …
Ainda no Android
SDK, instalar a seguinte dependência do SDK instalado:
- Google APIs ARM
EABI vXY System Image
(Confirmar)
Verificar se a
plataforma de ferramentas tem ADB (Android Debug Bridge) no SDK
manager
- <pasta do
sdk>/plataform-tools/adb
OBS: JAVA_HOME deve
estar configurado no ambiente
4 - Instalar
Calabash-android
$
gem install calabash-android
Não
executar esse comando com sudo porque o teste não executará porque
o keystore será diferente e haverá problema com as senhas
O comando GEM LIST
exibe todas as bibliotecas Ruby instaladas. Execute e verifique se
calabash-android (0.9.2) está instalado, se não estiver, instale
com o comando abaixo.
iOS Apenas:
Download Xcode na
app store
Instale
requerimentos adicionais
Instale calabash
cucumber ruby gem
Criando
a automação
Comandos Calabash:
1 – Criar a
estrutura do projeto
$
calabash-android gen
Gera
a estrutura de pastas básicas do projeto. Deve ser executado em uma
pasta separada do projeto Android/iOS
2
– Configure o calabash para o projeto
$
calabash-android setup
No passo onde vc vai
configurar “calabash-android setup”, vai pedir o “keystore
location”, tem que colocar o caminho inteiro. No meu caso ficou
/home/wagner/.android/debug.keystore
3
– O que é reassinar (Re-sign) e por que?
Se
você gerar ou construir (build) o apk na sua máquina então esse
passo não é necessário porque por padrão o APK construído vai
considerar o keystore do seu depurador Android
Se
alguém gerar ou construir o apk em outra máquina então precisamos
reassinar (resign) o apk com o keystore do seu depurador Android para
executar os testes contra o apk
$
calabash-android resign <apk>
- Este comando
reassinará o APK com o keystore presente na sua máquina para
executar os casos de testes
4 – Construir o
Apk server para instalar no emulador ou aparelho para realizar os
testes
$
calabash-android build
O
apk server será criado dentro da pasta test_servers. Instale esse
apk server e o apk do aplicativo no emulador/aparelho
Somente
para testes no emulador
5 – Configure a rede no emulador (ícone)
para acessar a internet pela rede local:
Settings > Network & Internet >
Mobile Network > Access Point Names > (clique no APN
selecionado)
Proxy: 10.0.2.2
Port: 3128
No menu flutuante do emulador clique em “…”
(MORE) > Settings > Proxy
Selecione “Manual proxy configuration”
Host name: 127.0.0.1
Port number: 3128
6 – Abra um emulador (AVD) ou deixe um
aparelho conectado em modo de depuração e execute o comando abaixo:
$
calabash-android run
<apk>
Comando
úteis
- lista a
configuração do ambiente para gem
$
gem environment
-
Gera
uma nova chave$
keytool -genkey -v -keystore
~/.android/debug.keystore -alias androiddebugkey -storepass android
-keypass android -keyalg RSA -keysize 2048 -validity 10000 -dname
"CN=Android Debug,O=Android,C=US"-
lista
a chave atualkeytool -exportcert -alias androiddebugkey -keystore $HOME/.android/debug.keystore -list -v -storepass androidSe ocorrer erro ao exibir a chave, tente com o parâmetro “-J-Duser.language=en”
Se
ao executar o teste e acontecer o mesmo erro, provavelmente a
linguagem do sistema está diferente da usada para executar o teste.
Basta ajustar a variável de ambiente do Linux$
echo $LANG$
export LANG=en_US.UTF-8erro
de keytool: java.util.IllegalFormatConversionException: d !=
java.lang.String-
Instala
o apk em um device ou emulador $
adb -s emulator-5554 install myapp.apk-
Executa
um emulador $
adb -avd Nexus_5X_API_26
Comentários
Postar um comentário