Simplificando a automação mobile híbrida – Android

Já imaginou ser possível criar testes automáticos para aplicativos mobile utilizando a mesma linguagem que você está acostumado? Nota-se...

Luis Camilo

View posts by Luis Camilo
Engenheiro de qualidade com Foco em Automação e integração continua atuando com o papel de um agile tester, buscando conhecimento e novos desafios em projetos e também participando de fóruns para promover os valores da qualidade de software. Na área técnica tenho conhecimento em técnicas, BDD, Ruby, java utilizando os frameworks nativos mobile, Appium e Selenium-Webdriver. Atuo em equipes internacionais que usam metodologias ágeis(Scrum/LeanKanban) onde a cooperação e a visão de gerar valor para o cliente é o foco principal . Github: https://github.com/Camilo3443
Data de publicação: 26/04/2019

Já imaginou ser possível criar testes automáticos para aplicativos mobile utilizando a mesma linguagem que você está acostumado?

Nota-se que as aplicações móveis têm sido desenvolvidas para diversos domínios, tais como jogos, livros, comunicação, finanças, música e áudio, notícias, transportes e outros contextos. É importante destacar que, mesmo em domínios críticos como saúde, financeiro e industrial, muitas aplicações móveis têm sido desenvolvidas, reforçando a necessidade de ferramentas de teste, principalmente as que possibilitam um processo automatizado.

Alguns trabalhos mencionam que abordagens especializadas para testes de aplicações móveis devem ser propostas e pesquisas realizadas para identificar características que podem influenciar a atividade de teste no contexto de mobilidade. Inicialmente, algumas dessas particularidades são conhecidas, destacando-se: conectividade, recursos limitados, autonomia, interface com o usuário, sensibilidade ao contexto, adaptação, novas linguagens de programação, sistemas operacionais, diversidade de configurações e telas de toque. A construção de aplicações móveis tem sido simplificada, pois ambientes de desenvolvimento, ferramentas de apoio e plataformas de computação móvel estão cada vez mais robustas. Entretanto, existem alguns fatores que tornam a engenharia de software para aplicações móveis diferente em relação à tradicional:

  • Integração com outras aplicações móveis: é comum que aplicações móveis troquem dados com aplicações Web e Mobile por meio da Internet e, na atualidade, pela invocação de serviços na nuvem;
  • Uso de sensores e componentes de hardware: os dispositivos móveis mais atuais dispõem de um conjunto de sensores, tais como acelerômetro, GPS, sensores de luz e outros;
  • Aplicações nativas e híbridas: algumas aplicações móveis descentralizam seus processamentos e grande parte delas consome serviços de rede de telefonia. Além disso, atualmente há meios de desenvolver uma aplicação Web que se adapta a um dispositivo móvel;
  • Segurança: graças à portabilidade e conectividade, as aplicações móveis podem ou devem acessar redes de dados externas e públicas que não são confiáveis. A segurança também deve ser considerada em mobilidade, pois o número de aplicações móveis instaladas é alto;
  • Interação com usuário: com diversas plataformas e versões de um sistema operacional móvel, a interface de interação com o usuário final pode possuir inúmeras configurações. Ademais, limitações como tamanho e resolução do dispositivo móvel criam novos meios de interagir com a aplicação móvel.

Em sua arquitetura, o Appium é um servidor HTTP escrito em Node.js que cria e manipula várias sessões do WebDriver. O Appium inicia os testes no dispositivo e ouve comandos do servidor.

 

Nesse Artigo que será divido em duas partes(Android/IOS) vamos aprender como preparar o ambiente e executar alguns testes em dispositivos móveis.

Configurando o Ambiente:

1 – Instalando o Java Software Development Kit (JDK)

https://www.oracle.com/technetwork/java/javase/downloads/index.html

2 – Configurando Variável de Ambiente Java no (Windows/IOS)

Defina o nome da variável como ‘ JAVA_HOME ‘ e o valor da variável será o caminho do java instalado na sua máquina.

3-  Configurando a variável PATH

Agora precisamos especificar o local na variável PATH . Para o PATH , provavelmente ele já existirá na sua máquina. Então, basta selecioná-lo e escolher a opção Editar.

Incluir o valor =  % JAVA_HOME% \ bin

4 –  Agora vá em Iniciar e digite cmd no Executar e pressione Enter . Ele iniciará o prompt de comando . Digite ‘ java -version ‘, ele exibirá as seguintes informações.

Nota : Reinicie o computador para tornar seu sistema ciente dessas mudanças ou reinicie o sistema quando terminar o processo de instalação completo do Appium.

5 –  Instalando Android SDK / ADB

Faça o download das ferramentas do Android SDK aqui . Basta ir até o final da página, onde você encontrará o texto ‘ Outras opções de download ‘ e vá para ‘ SDK Tools Only ‘. Escolha o arquivo para download corresponde ao seu sistema operacional .

6 – Configurar a variável de ambiente do Android

Depois de instalar o Android SDK Environment Kit no Windows, você deve definir a variável de ambiente ANDROID_HOME para apontar para o diretório de instalação do Android SDK .

Defina o nome da variável como ‘ ANDROID_HOME ‘ e valor da variável com o caminho de instalação do android SDK. Exemplo:

7 –  Definindo variáveis PATH para o Android SDK

% ANDROID_HOME% \ platform-tools

Exemplo:

8 –   Instalar e Configurar o Appium:

  • No link – http://appium.io/ – Baixar o .zip do appium e descompactar no disco local C:\
  • Criar um atalho do EXE na área de trabalho.

Pronto – agora que já temos um ambiente funcionando vamos para o projeto  …

Configurando um projeto

para ganhar tempo nesse tutorial eu criei um projeto base que pode ser reutilizado para qualquer ou projeto somente alterando os paramentos específicos do seu projeto

1 – Instalando uma IDE

2 – Projeto

capabilities.setCapability(MobileCapabilityType.APP = “Caminho do APK em sua maquina”

Pronto, você já tem um projeto appium android configurado na sua máquina agora é só clicar e RUN  e aguardar que o appium envie os scripts para o device e execute o teste 😀

AGUARDEM o proximo post da serie com o setup para rodar testes em IOS

Luis Camilo

View posts by Luis Camilo
Engenheiro de qualidade com Foco em Automação e integração continua atuando com o papel de um agile tester, buscando conhecimento e novos desafios em projetos e também participando de fóruns para promover os valores da qualidade de software. Na área técnica tenho conhecimento em técnicas, BDD, Ruby, java utilizando os frameworks nativos mobile, Appium e Selenium-Webdriver. Atuo em equipes internacionais que usam metodologias ágeis(Scrum/LeanKanban) onde a cooperação e a visão de gerar valor para o cliente é o foco principal . Github: https://github.com/Camilo3443

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

2 + 8 =

Posts relacionados

  1. Sobre a Dextra

    Somos especialistas em desenvolvimento de software sob medida para negócios digitais. Pioneiros na adoção de metodologias de gestão ágil, combinamos processos de design, UX, novas tecnologias e visão de negócio, desenvolvendo soluções que criam oportunidades para nossos clientes.

  2. Categorias

Scroll to top