Season Mobile com Appium - Ep.03: Robotizando o app do YouTube com o Appium
Olá pessoal, tudo beleza? Aqui é o Murillo Welsi novamente! E seguindo a sequência do artigo anterior, vou mostrar como podemos criar um projeto de automação mobile usando o RobotFramework + Appium + Android Studio. Bora por a mão na massa agora...
A ideia deste artigo é manter a estrutura do projeto a mais simples possível, para que, a partir dele, possamos criar projetos mais escaláveis e seguindo os Design Patterns.
01 - Configurações
Estrutura do projeto
Antes de "codar" nossos testes, vamos montar uma estrutura bem simples do nosso projeto. Criaremos um diretório chamado mobile-tests. Dentro deste diretório, vamos criar dois arquivos:- tests.robot
- variables.robot
Os comandos acima podem ser executados em sistemas Linux. Em sistemas Windows é necessário ter instalado um Console Emulator, como o Cmder. Para instalar o Cmder, acesse https://cmder.net/.
02 - Importando a AppiumLibrary
Vamos inserir agora as configurações no bloco *** Settings *** . Neste bloco faremos a importação da AppiumLibrary, que nos permitirá fazer uso de várias Keywords de interação com o Appium.Consulte a documentação da AppiumLibrary em: https://serhatbolsu.github.io/robotframework-appiumlibrary/AppiumLibrary.html
Note que fizemos também a importação do arquivo variables.robot, que guardará nossas variáveis.
A seguir, faremos um passo muito importante, que será a criação da Keyword que executará o app no nosso Android Virtual Device (AVD). Daremos o nome Open Youtube , e nela implementaremos a Keyword Open Application (disponibilizada pela AppiumLibrary).03 - Criando a primeira Keyword
A Keyword Open Application recebe os parâmetros das Capabilities (mensionada no post anterior) e serão guardas em variáveis:
- platformName: Qual plataforma mobile será utilizada (Ex: iOS, Android).
- platformVersion: Versão do S.O mobile (Ex: 10.0, 7.1, 4.4).
- deviceName: O nome do device ou emulator que será utilizado (Pixel 2 API R).
- appPackage: O pacote Java do app Android que você deseja executar (com.example.android.myApp, com.android.settings)
- appActivity: Nome da Activity que deseja executar do seu pacote. Isso geralmente deve ser precedido por "." (por exemplo, .MainActivity em vez de MainActivity).
Arquivo de Variáveis
A variável ${REMOTE_URL} é responsável por indicar o ip do Appium Server. Certifique-se de preencher os dados corretamente, de acordo com as informações do seu ambiente.
04 - Criando a primeiro Test Case
(:
Vamos executar então nosso primeiro teste?
Antes de executar o teste, vamos criar o diretório logs:
mkdir logs
Agora sim podemos executar o teste, executando o comando abaixo:
robot -d logs/ .
O parâmetro -d indica o diretório onde os arquivos de logs e screenshots serão armazenados.
Obs.: Não se esqueça de executar o Appium e o AVD no Android Studio!
Pronto! Nossa automação está funcionando e abrindo o app mobile do YouTube no nosso Virtual Device.
Vamos executar então nosso primeiro teste?
05 - Executando o Test Case
mkdir logs
Agora sim podemos executar o teste, executando o comando abaixo:
robot -d logs/ .
O parâmetro -d indica o diretório onde os arquivos de logs e screenshots serão armazenados.
Obs.: Não se esqueça de executar o Appium e o AVD no Android Studio!
Pronto! Nossa automação está funcionando e abrindo o app mobile do YouTube no nosso Virtual Device.
06 - Avançando nos Testes
Localizando Elementos
- identifier: Click Element | identifier=my_element
- id: Click Element | id=my_element
- accessibility_id: Click Element | accessibility_id=button3
- xpath: Click Element | xpath=//UIATableView/UIATableCell/UIAButton
- class: Click Element | class=UIAPickerWheel
Adicionando ações aos testes
E adicionaremos também keywords para abrir o app do YouTube, fazer a busca entre outras ações simples, usando funções como Click Element e Input Text da biblioteca do Appium:
Vamos rodar novamente os testes, executando o comando:
robot -d logs/ .
Se conferirmos os logs, podemos ver os resultados dos testes:
robot -d logs/ .
Se conferirmos os logs, podemos ver os resultados dos testes:
Vamos finalizando aqui mais um artigo. Acho que conseguimos fazer, ainda que de maneira muito simples, alguns testes usando o RobotFramework + Appium + Android Studio.
Espero ter ajudado o pessoal que não conhecia, ou conhecia muito pouco o mundo da automação mobile.
Um grande abraço, e até a próxima!!!
Ola tudo bem!! tenho muito interesse na utilização do Robot Framework com Appium!!
ResponderExcluirDuvida? utilizo um Appium Server remoto que requer uma conexão via proxy no caso utilizamos no java as classes:
OkHttpClient e HttpCommandExecutor utilizando "AppiumDriver(HttpCommandExecutor, DesiredCapabilities)" para fazer a conexão no caso do Robot e possível conectar no Appiumserver via proxy?
Obrigado!!
Olá, estou com um problema de simular com robot + apiium a ação de deslizar para cima em uma combox, afim de ter as informações contidas neste combox. vc sabe como fazer essa simulação ?
ResponderExcluir