Dependências
- Instale ou atualize o Java
- Instale o NodeJS
- Atualizar npm:
$ sudo npm install npm -g
- Instale o XCode
- Baixe ferramentas Android SDK
- Adicione o seguinte ao arquivo ~ / .bashrc (certifique-se de que o caminho para android-sdk-macosx está correto):
export ANDROID_HOME=$HOME/Downloads/android-sdk-macosx
export ANDROID_SDK=$ANDROID_HOME
PATH=$PATH:/Applications/apache-ant-1.8.4/bin
PATH=$PATH:/usr/local/share/npm/bin/
PATH=$PATH:$ANDROID_HOME/build-tools
PATH=$PATH:$ANDROID_HOME/platform-tools
PATH=$PATH:$ANDROID_HOME/tools
export JAVA_HOME="`/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java_home`"
export PATH
Instale e execute o Appium
$ npm install -g appium
$ appium &
Executando testes em iOS
Certifique-se de que o appium esteja em execução. Inicie o XCode. Certifique-se de que os recursos em nodejs_sample / config / caps.js estejam configurados para seu dispositivo / emulador.
$ cd node
$ npm install
$ env cap="ios81" mocha homepage.js
Para testar em um dispositivo real da Apple, você precisaria de um Apple Developer ID . Edite nodejs_sample / config / caps.js com um novo recurso (ou modifique o existente para iOS). O recurso novo / modificado deve ser semelhante a este:
exports.ios81 = {
browserName: '',
'appium-version': '1.3',
platformName: 'iOS',
platformVersion: '8.1',
deviceName: 'iPhone Simulator',
app: <path to .ipa file>
udid: <unique-device-id>
};
Para obter o udid de um iPhone / iPad, conecte-o ao seu laptop e abra o iTunes. Selecione o dispositivo no painel esquerdo. Clique no número de série do dispositivo para revelar o udid.
$ env cap="ios81" mocha homepage.js
Executando testes no Android
Configurando um AVD (Android Virtual Device) / emulador:
Inicie o Android SDK Manager:
$ $ANDROID_HOME/tools/android
Baixe qualquer imagem do Android da lista Ex; Android 4.4.2 – se você tiver um dispositivo Android, pode querer obter uma versão Android correspondente para o POC.
Assim que o download for concluído, liste os alvos de imagem e anote o id de uma imagem com a qual você criará o emulador:
$ $ANDROID_HOME/tools/android list targets
Crie um emulador usando o id (veja acima) para <targetID>:
$ $ANDROID_HOME/tools/android create avd -n <name> -t <targetID>
Lista emuladores disponíveis:
$ $ANDROID_HOME/tools/emulator -list-avds
Execute um emulador:
$ $ANDROID_HOME/tools/emulator @<name_of_emulator>
Nas versões mais recentes do Android, o Chrome é o navegador padrão. Você precisaria ter o Chrome em seu emulador para executar testes nele. Você pode baixar um apk do Chrome online ou obtê-lo diretamente do seu dispositivo Android:
Pare todos os emuladores em execução. Conecte o dispositivo Android ao seu laptop e inicie o servidor Android Bridge / adp:
$ adb start-server
$ adb shell pm list packages
Procure o pacote chrome (algo semelhante a: com.android.chrome-2.apk), obtenha seu caminho e extraia o pacote para seu laptop usando o caminho:
$ adb shell pm path <name-of-chrome-package>
$ adb pull <path-of-chrome-package>
Desconecte o dispositivo. Inicie um emulador:
$ $ANDROID_HOME/tools/emulator @<name_of_emulator>
Instale o pacote do Chrome:
$ adb install path/to/pulled/chrome/package
Executando os testes
Certifique-se de que o appium esteja funcionando. Se não, ligue-o:
$ appium &
Certifique-se de que um emulador com cromo esteja em execução. Se não, acione um:
$ $ANDROID_HOME/tools/emulator @<name_of_emulator>
Se estiver testando em um dispositivo real, você precisa fechar todos os emuladores em execução e conectar um dispositivo Android ao seu laptop. Certifique-se de que os recursos em nodejs_sample / config / caps.js estejam configurados para seu dispositivo / emulador.
Execute os testes com:
$ env cap="android17" mocha homepage.js
Executar testes em paralelo
Você não pode executar testes em paralelo no iOS com Appium.
Para dispositivos Android, execute várias instâncias de servidores Appium passando uma porta diferente (-p), porta de bootstrap appium (-bp) e id de dispositivo (-U) para cada uma. Por exemplo:
$ appium -p 4492 -bp 2251 -U 32456
$ appium -p 4491 -bp 2252 -U 43364