Back-End

19 dez, 2017

Estudo do Appium usando Ruby – Parte 01

Publicidade

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)

https://github.com/admc/wd

  • 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/