Esse será o primeiro conteúdo de uma série de posts e vídeos que serão publicados aqui no blog e no YouTube sobre a utilização do Robot Framework em conjunto com o Appium. Então, antes de começarmos a colocar a mão na massa e criar nossas primeiras suites, nessa primeira parte, iremos entender melhor como funciona o Appium.
Bora lá!
O Appium
Como descrito no seu próprio site, o Appium, ao contrário do que muitos pensam, é uma ferramenta destinada para automação de qualquer aplicações que possua uma interface de usuário, os famosos GUI Applications. Dessa forma, o Appium consegue automatizar não só testes Mobile, mas também WEB, Desktop, testes para apps de Smart TVs, etc. Mas, é nos testes Mobile onde o Appium tem o maior apelo na comunidade, e é onde iremos focar. Mas independente de onde o Appium será utilizado, ele funcionará do mesmo jeito.
Para entendermos melhor como é o comportamento do Appium dentro dos nossos testes, vamos separar a explicação em 2 tópicos:
- Appium Client
- Appium Server
Assim acredito que fique mais fácil de entendermos.
Appium Client
O Appium Client, é basicamente o nosso script de testes. É lá que teremos as configurações e comandos que serão enviados para o Appium Server para que os testes consigam interagir com o dispositivo utilizado na execução.
Os comandos que ficarão em nosso Client são praticamente as ações que desejamos realizar durante os nossos testes. Então, comandos como “Open Application“, “Click Element“, “Wait Unit Element is Visible“ e outros, quando adicionados ao nosso script de testes, passam a ser parte integrante do nosso Client.
Dentro do nosso Client, também temos as configurações dos Desired Capabilities (ou numa traduções livre no nosso bom e velho pt_BR: “Capacidades Desejadas“), que são um conjuntos de palavras-chave que disponiblizarão para o Appium Server informações sobre o dispositivo/emulador utilizado, sistema operacional, informações sobre o app utilizado nos testes, e comportamentos específicos que desejamos que seja aplicados à aplicação testada, dentre outras configurações.
As palavras-chave mais comuns são:
- platformName: Especifica o sistema operacional do dispositivo em teste.
- deviceName: Define o nome do dispositivo ou emulador.
- app: O caminho para o arquivo do aplicativo
- automationName: O nome do Driver que será utilizado.
Nos conteúdos posteriores, iremos falar um pouco mais sobre os Appium Client e os Desired Capabilities de forma mais aprofundada e prática.
Appium Server
O Appium Server é uma API RESTful que serve como intermediário entre o Client (o nosso código) e o dispositivo que será utilizado no teste. É ele quem recebe todas as instruções, sejam elas configurações ou comandos, e as traduz em ações de modo a interagir com o dispositivo e o aplicativo em teste. Ele também é responsável por retornar para o Client o resultado das ações executadas. Em outras palavras, é ele quem enviar os comandos do seu script de testes para o dispositivo, e também é ele quem informa ao seu teste se uma ação passou ou falhou, para que o Client decida se deve prosseguir ou falhar a execução.
Os Drivers também são instalados no Appium Server, dando a ele a capacidade de controlar vários dispositivos de diferentes sistemas operacionais ou arquiteturas. Os drivers mais utilizados são:
- UiAutomator2: Para testes em dispositivos Android. Pode ser utilizado em aplicações Nativas e Hibridas.
- XCUITest: Para testes em dispositivos iOS. Pode ser utilizado em aplicações Nativas e Hibridas.
O Appium Server é iniciado através de um comando simples na linha de comando. Uma vez iniciado, o servidor escuta as requisições e gerencia a comunicação com o dispositivo conectado.
Também veremos na prática o funcionamento do Appium Server em conteúdos futuros.
Juntando tudo, teremos algo como isso …
Robot Framework e Appiuum Library
No Robot Framework, é a biblioteca Appium Library que possibilita que o nosso script se torne um Client, fornecendo inúmeras Keywords que executarão ações que serão interpretadas pelo Appium Server em conjunto com os Drivers e executadas nos dispositos.
Abaixo um exemplo rápido de abertura de um App usando Robot Framework e Appium Library:
Mas, veremos nos conteúdos seguintes mais sobre a Appium Library em conjunto com o Robot Framework, de forma prática.
Conclusão
Nessa primeira parte, quis passar de forma resumida, mas de modo que fique claro, o que é o Appium. Acho importante conhecer essa parte mais teórica, antes de colocarmos a mão na massa, sem saber onde estamos pisando.
Ficou com alguma dúvida, deixa aqui nos comentários!
Nos vemos na Parte 2!
Valeu!
Muito bom o artigo, simplificou o que devemos apreender do básico sobre o Appium
Obrigado pelo feedback Fátima …
Grande abraço
Parabéns pelo excelente artigo! Este primeiro conteúdo da série sobre a utilização do Robot Framework com o Appium está muito bem escrito e informativo. A clareza com que você explica a importância de entender o funcionamento do Appium antes de partir para a prática é admirável. Estou ansioso para acompanhar os próximos posts e vídeos que certamente serão tão esclarecedores e didáticos quanto este. Continue com o ótimo trabalho!
São comentarios assim qe motivam a continuar escrevendo e gravando conteúdos para a comunidade, muito obrigado!!!