introduction appium
Este tutorial explica o que é Appium, sua arquitetura, fluxo de trabalho e como usar esta ferramenta de código aberto para automação móvel no Android e iOS:
Appium é uma ferramenta de automação móvel de código aberto que fornece automação em plataformas como Android, iOS, etc.
Ele também suporta automação usando várias linguagens de programação, como Java, PHP, Perl, Python, etc.Assim, os usuários podem usar qualquer linguagem de programação com a qual se sintam confortáveis e escrever scripts automatizados.
=> Cuidado com a série de treinamento simples Appium aqui.
O que você aprenderá:
O que é Appium?
Aqui está um tutorial em vídeo:
Visão geral dos aplicativos
Todos os aplicativos podem ser automatizados, incluindo aplicativos nativos, híbridos e da Web.A seguir, é fornecida uma visão geral simples de vários tipos de aplicativos.
- Aplicativos nativos: Esses aplicativossão escritos usando iOS, Android ou SDKs do Windows.Eles podem ser acessados somente após a instalação no dispositivo. Por exemplo, Skype, que pode ser usado somente após a instalação no dispositivo. Não podemos abrir o aplicativo pelo navegador.
- Rede Apps: Aplicativos da web móvelpode ser acessado usando um navegador móvel.Os aplicativos da Web podem ser acessados apenas pelo navegador. Por exemplo, softwaretestinghelp.com pode ser acessado apenas por meio do navegador. Não temos um aplicativo separado disponível para o site.
- Híbrido Apps: Essesappstem um invólucro em torno de um “webview” - um controle nativo que permite a interação com o conteúdo da web.Eles podem ser instalados no dispositivo e também acessados por meio do URL do navegador. Por exemplo, Amazon pode ser instalado como um aplicativo separado no dispositivo e também pode ser acessado via navegador como Amazonas.
Mais importante ainda, esta ferramenta é “multiplataforma” - que permite escrever testes em múltiplas plataformas (iOS, Android, Windows), usando a mesma API. Isso permite a reutilização de código entre dispositivos iOS, Android e Windows.
Arquitetura de épocas
Este é um servidor HTTP escrito na linguagem de programação Node.js que lida com sessões WebDriver. O servidor Appium recebe solicitações HTTP das bibliotecas cliente no formato JSON. As solicitações são então tratadas de maneiras diferentes, dependendo da plataforma em que estão sendo executadas.
Segue a Arquitetura Cliente-Servidor. Existem 3 componentes incluídos nele:
- cliente appium
- servidor appium
- Dispositivo final
# 1) Cliente Marcus
O código de script de automação é o que chamamos de Appium Client.
scripts de teste de amostra para teste de software
O código é programado em qualquer linguagem de programação como PHP, Java, Phyton, etc. Este script de automação contém os detalhes de configuração do dispositivo móvel e do aplicativo. Junto com isso, a lógica / código para executar os casos de teste do aplicativo são escritos.
# 2) servidor de épocas
O servidor Appium é escrito usando a linguagem de programação Node.js.Ele recebe solicitações de conexão e comando do cliente Appium no formato JSON e executa esse comando em dispositivos móveis. O servidor deve ser instalado na máquina e iniciado antes de invocar o código de automação.
O servidor interage com várias plataformas, como iOS e Android. Ele cria uma sessão para interagir com dispositivos finais de aplicativos móveis. É um servidor HTTP escrito na linguagem de programação Node.js que lê as solicitações HTTP das bibliotecas cliente e as envia para a plataforma apropriada.
Para iniciar o servidor, os usuários precisam baixar o código-fonte ou instalá-lo diretamente do Npm. Ele também fornece a versão GUI do servidor. Você pode baixá-lo do Appium oficial local .
No próximo capítulo, discutiremos a versão da GUI com mais detalhes. Uma das maiores vantagens desta ferramenta é que o código que você usa para interagir com ela é escrito em muitas linguagens, como Java, C #, Ruby, Python, etc., já que Appium é a API REST em seu núcleo.
# 3) Dispositivo final
Este é principalmente um dispositivo móvel em tempo real ou um emulador. Os scripts de automação são executados no dispositivo final pelo servidor Appium pelos comandos do cliente.
o que significa chave de segurança de rede
O fluxo de trabalho da arquitetura Appium
O Appium Client que contém os detalhes de configuração e o script de automação para os casos de teste envia os comandos para o servidor no formato JSON. O script de automação é convertido em formato JSON por arquivos jar embutidos no cliente.
O Appium Server então reconhece o comando e estabelece uma conexão com o dispositivo final correspondente. Uma vez que a conexão é feita, ele aciona a execução de casos de teste no dispositivo final. O dispositivo final responde à solicitação na forma de HTTP para o Appium.
À medida que os casos de teste são executados no dispositivo / emulador Mobile, ele povoa o log de todas as ações realizadas no dispositivo / emulador.
Funcionamento do Appium no iOS
Esta ferramenta usa a API UIAutomation da Apple para interagir com os elementos da IU do aplicativo em um dispositivo iOS. UIAutomation é uma biblioteca JavaScript fornecida pela Apple Company. Ele usa essas bibliotecas para automatizar os aplicativos no iOS.
Quando executamos os scripts de teste, os comandos nos scripts de teste são obtidos na forma de JSON por meio de uma solicitação HTTP para o servidor Appium. O servidor envia o comando para esses instrumentos e os instrumentos procuram o arquivo bootstrap.js.
Em seguida, esses comandos são executados no arquivo bootstrap.js dentro do ambiente de instrumentos iOS. Após a execução do comando, o cliente envia de volta a mensagem (sucesso / falha) ao servidor Appium com os detalhes do log do comando executado.
Funcionamento do Appium no Android
Appium usa a estrutura UIAutomator para interagir com os elementos de IU do aplicativo em um dispositivo Android. O UIAutomator é uma estrutura desenvolvida pelos desenvolvedores do Android para testar sua interface de usuário.
Aqui, em vez da API UIAutomation como vimos na Apple, temos um UIAutomator / Selendroid e bootstrap.jar no lugar do arquivo bootstrap.js. Ele suporta todas as versões do Android maiores ou iguais a 17; para versões anteriores do Android, o Appium usa a estrutura Selendroid.
Quando executamos os scripts de teste, Appium envia o comando no formato JSON para o UIAutomator ou Selendroid com base na versão Android. Aqui, bootstrap.jar atua como um servidor TCP, que podemos usar para enviar o comando de teste para executar a ação no dispositivo Android usando UIAutomator / Selendroid.
Conclusão
Neste capítulo, obtivemos uma compreensão básica do Appium, é Arquitetura, Fluxo de Trabalho e Funcionamento do Appium no iOS / Android.
No próximo capítulo, veremos como configurar o Appium e outro software básico a ser instalado para automação móvel em dispositivos reais.
PREV Tutorial | PRÓXIMO Tutorial
Leitura recomendada
- Crie testes de Appium para um aplicativo Android
- Introdução ao Appium Studio: Principais benefícios e recursos
- Executando seus testes de Appium em paralelo usando Appium Studio for Eclipse
- Criação de testes de épocas usando o epochs Studio for Eclipse
- Appium Studio for Eclipse: Automação Appium / Selenium de ponta a ponta a partir do Eclipse
- Tutorial da Appium para testar aplicativos móveis Android e iOS
- Conectando dispositivos iOS e Android reais da nuvem ao Appium Studio
- Criar teste Appium para um aplicativo iOS