Appium é uma ferramenta open source e multi-plataforma para automação de aplicações nativas e híbridas para web e mobile, disponível para os principais sistemas operacionais do mercado, Android e iOS (e agora para FirefoxOS). É melhor instalar o Appium através da linha de comando, ao invés de baixar o aplicativo, uma vez que o seu GUI (Graphical User Interface) é mais frágil.
Atenção! Verifique se não instalou Node ou Appium com sudo, caso contrário, vai ter problemas.
Pré-requisitos
Xcode
É um ambiente de desenvolvimento integrado e software livre da Apple Inc. Também precisamos autorizar o uso do iOS Simulator, e para isso, basta digitar o comando no terminal:
Sudo Authorize_iOS
Android Studio é a IDE oficial para a criação de aplicativos em todos os tipos de dispositivos Android. Para baixar, clique aqui. Para baixar Java, é só clicar aqui. Após ter feito a instalação, é necessário setar as variáveis de ambiente JAVA_HOME e ANDROID_HOME no seu arquivo bash_profile.
Exemplo: Abra o terminal e digite:
open ~/.bash_profile # abre o arquivo bash_profile e cole os arquivos export ANDROID_HOME=/Users/[SEU USUARIO]/Library/Android/sdk Export PATH=$PATH:$ANDROID_HOME/bin:$ANDROID_HOME/tools:$ANDROID_HOME/platform- tools:$ANDROID_HOME/lib:$ANDROID_HOME/tools/lib:$ANDROID_HOME/bin export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home export PATH=$PATH:$JAVA_HOME export PATH=$PATH:$JAVA_HOME/bin
O Homebrew instala as coisas que precisa e que a Apple não forneceu para você. Para instalar o Homebrew, basta digitar no seu terminal:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Node JS
O Appium é um servidor HTTP escrito em node.js que cria e manipula várias sessões do WebDriver para diferentes plataformas, como iOS e Android. A automação de aplicativos móveis híbridos e nativos para Android e iOS é uma função-chave administrada pelo Appium, um servidor node.js. A interação entre o servidor node.js e as bibliotecas de client do Selenium é o que, em última análise, funciona em conjunto com a aplicação móvel.
Para instalar, basta digitar no seu terminal:
brew install npm #instalar o appium via (source) npn ((Node JS Package Manager).) npm --version #versão do npm brew install node #instalar o node node --version #versão do node
Para instalar o Appium, execute o comando abaixo:
npm install -g appium
Quando isso for feito, inicie o servidor do Appium pelo seguinte comando:
appium # inicia o servidor do appium
Para atualizar o Appium, é só digitar o comando “npm install -g appium” novamente.
Appium-doctor verifica se todas as dependências do Appium são atendidas e se todas estão configuradas corretamente. Para instalar o appium-doctor basta digitar no seu terminal:
npm install -g appium-doctor # instalar o appium-doctor
Uma vez que o node.js e npm e o appium-doctor estão instalados, você pode usar o comando abaixo para verificar se todas as dependências do appium são atendidas:
appium-doctor # verificar todas as dependencia necessarias para usar o appium appium-doctor --android # verificar as dependencias somente para android appium-doctor --ios # verificar as dependencias somente para ios
Appium Client
São as linguagens de programação suportadas pelo Appium:
- Ruby
https://github.com/appium/ruby_lib
- Python
https://github.com/appium/python-client
- Java
https://github.com/appium/java-client
- JavaScript (Node.js)
- Objective C
https://github.com/appium/selenium-objective-c
- PHP
https://github.com/appium/php-client
- C# (.NET)
https://github.com/appium/appium-dotnet-driver
- RobotFramework
https://github.com/jollychang/robotframework-appiumlibrary
Execute o comando abaixo para instalar o Appium client:
npm install wd # cliente do appium
Desired Capabilities
É um conjunto de chave/valor enviado ao Appium Server para informar qual tipo de sessão desejamos iniciar. É através dele que informamos em qual dispositivo queremos executar e quais são as configurações iniciais.
Exemplos:
Capabilities para Android
[caps] platformName = "Android" deviceName = 'Nexus_5_API_23_mars' app = '/Users/[SEU USUARIO]/dev/android/app/build/outputs/apk/app-debug.apk'
Capabilities para iOS
platformName = "iOS" platformVersion = "10.3" deviceName = "iPhone 6 Plus" app = "/Users/[SEU USUARIO]/dev/appium/build/mock/simulator/Projeto.app"
Sessão
Como o Appium é um servidor, toda a comunicação com o dispositivo é realizada através de uma sessão. O cliente inicializa uma sessão com o servidor via POST/session com um objeto JSON chamado Desired Capabilities.
Quando a sessão é criada um ID é atribuído a ela para realizar o envio dos comandos para o dispositivo apropriado.
***
Este artigo foi publicado originalmente em: https://www.concrete.com.br/2017/12/06/15565/