Skip to main content

Appium

Appium é uma ferramenta de automação de testes para aplicativos móveis. Ele permite que você escreva testes que interajam com aplicativos nativos, web e híbridos em dispositivos iOS e Android. O Appium suporta várias linguagens de programação, como Java, Python, JavaScript, entre outras, e funciona de forma cross-platform, ou seja, você pode usar o mesmo código para testar tanto em iOS quanto em Android.

Documentação oficial: Appium Documentation - Appium Documentation

Appium Server

O Appium Server atua como um intermediário entre o código de teste e o dispositivo (físico ou emulador) que está sendo testado. O Appium Server recebe os comandos de automação enviados pelo código de teste (escritos em várias linguagens, como Java, Python ou JavaScript) e os converte em ações no dispositivo, como clicar em um botão ou navegar por uma tela. O Appium Server se comunica com os dispositivos Android e iOS usando seus respectivos frameworks de automação: o UIAutomator para Android e o XCTest para iOS. Como ele utiliza as APIs nativas de automação dos sistemas operacionais, o Appium Server não precisa modificar ou reconfigurar o aplicativo que está sendo testado, permitindo testes sem a necessidade de recompilar ou ajustar o código-fonte.

Instalação

warning

Necessário ter o NodeJS instalado. Acesse Node.js — Download Node.js® (nodejs.org)

  • Abra o terminal e digite o comando:
npm i -g Appium
  • A instalação do Appium é realizada
Terminal Windows - Comando de instalação Appium
Terminal Windows - Comando de instalação Appium

Iniciar Appium Server

  • Abra o terminal e digite o comando:
appium
  • O Appium Server entra em operação e fica ativo em sua máquina
Terminal Windows - Comando para iniciar o Appium
Terminal Windows - Comando para iniciar o Appium
warning

Caso feche o terminal, o processo do Appium Server será finalizado.

Appium Inspector

O Appium Inspector é uma ferramenta gráfica usada para inspecionar a interface dos aplicativos móveis e identificar os elementos da UI (interface do usuário) que serão utilizados nos testes automatizados. Ele permite que os testadores visualizem os elementos da tela de um aplicativo em execução e obtenham informações detalhadas sobre eles, como IDs, classes, e atributos, facilitando a criação dos scripts de automação.

Instalação

Appium Inspector
Appium Inspector

Inspecionar elementos das aplicações

  • Inicie o Appium Server
  • Abra o Appium Inspector
  • Informe as Capabilities a partir do “Capability Builder” ou crie o “JSON Representation” para identificar a aplicação e aparelho que será alvo da inspeção de elementos.
Appium Inspector - Capabilities do app Proton Notification
Appium Inspector - Capabilities do app Proton Notification

JSON Representation:

{
"appium:deviceName": "RQCW200DFVT",
"appium:platformVersion": "13.0",
"platformName": "Android",
"appium:automationName": "UIAutomator2",
"appium:appPackage": "com.protonnotifier",
"appium:appActivity": "com.protonnotifier.MainActivity"
}

Device Name

ID do aparelho. Utilize o comando adb devices para saber o nome do dispositivo conectado à sua máquina.

warning

Necessário realizar os passos de configuração do aparelho. Device Físico | Aparelho emulado

Platform version:

É a versão do Android do seu aparelho, tanto emulador quanto celular físico.

Platform name:

Indica a plataforma que o aparelho utiliza (Android ou IOS).

AppPackge:

O pacote Java do aplicativo Android que você deseja executar é obtido, por padrão, a partir do manifesto do aplicativo (valor do atributo @package). Essa informação pode variar conforme o projeto que você estiver configurando, já que está diretamente relacionada ao aplicativo em desenvolvimento. Portanto, os desenvolvedores são responsáveis por fornecer essas informações específicas.

AppActivity:

Essa informação é referente ao nome das atividades do Android que você espera. Essa informação junto ao AppPackge são informações do próprio aplicativo a ser utilizado.

AutomationName:

Este componente é específico para quem utilizará um emulador de dispositivos móveis. Ele define o mecanismo de automação que será empregado para interagir com o aplicativo em teste, como o Appium, UIAutomator2, Espresso, entre outros. Cada um desses mecanismos oferece diferentes capacidades e compatibilidades com plataformas, sendo que o Appium é amplamente utilizado para automação em múltiplas plataformas (Android e iOS), enquanto o UIAutomator2 e o Espresso são soluções mais específicas para o Android, com Espresso sendo focado principalmente em testes de UI e integração dentro do Android. A escolha do mecanismo depende dos requisitos do projeto e do ambiente de testes.

tip

Para maiores informações sobre as Capabilities disponíveis, veja na documentação oficial do Appium: Capabilities - Appium Documentation