BIGtheme.net http://bigtheme.net/ecommerce/opencart OpenCart Templates

AUTOMAÇÃO DE TESTES MOBILE COM APPIUM – PARTE 2

Seguindo a séria de Automação de Testes Mobile com Appium vou apresentar como enviar um testes automatizado para um dispositivo Android. Neste artigo ainda não efetuaremos testes em um dispositivo (passos e resultados esperados), mas iremos validar e internalizar o conceito do DesiredCapabilities (Capacidades), além de configurar o que é necessário para a execução de teste

Introdução

Configurando o ambiente

A configuração do ambiente (executada apenas uma vez na sua máquina) é extremamente importante para que seja possível enviar nossos testes automatizados para um dispositivo. A configuração consiste em:

  • Instalação e configuração do Java no path do sistema operacional
  • Instalação, configuração e atualização do Android SDK
  • Instalação do Appium Server (Appium.exe)
  • Baixar as bibliotecas corretas
  • Projeto inicial com as bibliotecas associadas a este

Estes passos são de extrema importância. Para não deixar este artigo muito longo, siga todos os passos de acordo com o link abaixo, que possui um conjunto de vídeos que ensinam a fazer estas configurações passo-a-passo

http://eliasnogueira.com/appium/pre_condicoes/basi…

Código inicial

Atenção: para conseguir escrever o código inicial é necessário ter executado todas as pré-condições do item acima.

O código inicial, que é o foco deste artigo, é composto sempre por três partes:

  • Definição da aplicação alvo dos testes (DesiredCapabilities)
  • Definição da plataforma, dispositivo e outras configurações (DesiredCapabilities)
  • Inicialização da aplicação sob determinada condição (AndroidDriver)

O código final, escrito passo-a-passo pode ser visualizado abaixo. Note que os comandos estão sendo auto completados através da tecla de atalho CRTL + Espaço no Eclipse IDE.

Parte 1

Há duas formas de definir a aplicação sob testes:

  1. Instalando a app em cada execução (fresh install)
  2. Utilizar a aplicação previamente instalada

Neste artigo utilizaremos a primeira opção (fresh install).

A abordagem do código traz um objeto tipo File chamado diretorioAplicacao que é o caminho onde estará o arquivo .apk
Em seguida criamos um objeto do tipo File chamado arquivoAplicacao que é a composição do diretório da aplicação mais o nome do arquivo com a extensão .apk.

File diretorioAplicacao = new File("C:\\app\triangulo");
File arquivoAplicacao = new File(diretorioAplicacao, "TrianguloApp.apk");

Parte 2

A classe DesiredCapabilities é a responsável por dar determinadas capacidades à plataforma alvo de execução, por isso instanciamos ela (new) para a utilização através do nomecapacidade.

Para informar uma capacidade é necessário utilizar o método setCapability que é uma mapa de chave/valor, por isso possui dois parâmetros:

  • Primeiro parâmetro: tipo de capacidade
  • Segundo parâmetro: valor da capacidade

No tipo de capacidade utilizamos a classe MobileCapabilityType, que é uma classe de suporte onde possui a série da capacidades para todas as plataformas e para o servidor. Para conhecer todas as capacidades do servidor (que estamos usando no código, clique aqui.

Para os valores da capacidade, para o tipo PLATAFORM_NAME, utilizamos a classe MobilePlatform para informar a plataforma. Esta classe já possui todas as plataformas suportadas via código pelo Appium.
Na capacidade DEVICE_NAME, estamos informando como valor que executaremos o teste em um emulador.
Na capacidade APP estamos informando o caminho absoluto para o arquivo.

DesiredCapabilities capacidade = new DesiredCapabilities();capacidade.setCapability(MobileCapabilityType.PLATFORM_NAME, MobilePlatform.ANDROID);<br>capacidade.setCapability(MobileCapabilityType.DEVICE_NAME, "Android Emulator");<br>capacidade.setCapability(MobileCapabilityType.APP, arquivoAplicacao.getAbsolutePath());

Parte 3

Para abrir uma conexão com o dispositivo utilizamos a classe AndroidDriver que, além de abrir a aplicação, vai nos prover uma série de comandos para a interação com os componentes de tela.

Devemos informar para a classe AndroidDriver dois parâmetros:

  • A URL do servidor do Appium.
  • As capacidades (app, plataforma e demais configurações), que nada mais é que o DesiredCapabilities

Neste exemplo, como iremos executar o teste localmente (na nossa máquina) a URL é o localhost (127.0.0.1) mais a porta de comunicação do servidor do Appium (4723) mais o contexto do servidor para que ele gerencie em qual dispositivo executar dado uma determinada capacidade (/wd/hub).

AndroidDriver driver = new AndroidDriver(new URL("https://127.0.0.1:4723/wd/hub"), capacidade);

Ajustes

Para executar este exemplo é necessário:

  • Criar uma pasta no C:\ chamada app e, dentro dela, uma pasta chamada triangulo, ou modificar a propriedade diretorioApp para uma pasta de sua escolha
  • Fazer o download da aplicação de exemplo TrianguloApp através deste link e colocá-la na pasta app/triangulo, ou na pasta de sua escolha

Execução

Parte 1

É necessário iniciar o servidor do Appium. Para isso abra o Appium no diretório de instalação clicando duas vezes sobre o arquivo Appium.exe. Assim que o Appium abrir, clique no botão de inicio do servidor.

Na tela do Appium será exibido informações sobre a inicialização do servidor.

Parte 2

Com um emulador Android já iniciado, basta ir até o Eclipse IDE e selecionar o menu Run/Run ou através do ícone Run.

Note que a aplicação TrianguloApp será aberta no emulador.

Atenção: no meu código de exemplo na imagem acima o diretórioAplicacao não possui o C:\\, isso porque eu estou executando em um MAC neste exemplo 😉

Considerações finais

Neste artigo aprendemos como iniciar o automação de testes com o Appium de forma prática. Ainda não executamos um teste propriamente dito, com passos e validação dos resultados esperados, mas este ponto é fundamental para aprendermos como iniciar o teste de forma correta.

 

Autor: Elias Nogueira (elias.nogueira@qualister.com.br)

Possui MBA em Teste de Software e a certificação internacional de teste de software CSTE – Certified Software Tester, oferecida pela QAI Brasil. Trabalhou em projetos de engenharia de teste de qualidade de dados (Data Mining, Data Cleasing, Data Profiling, Noisy text analysis) e Georeferenciamento (Marketing de Precisão). É especialista em automação de testes em ferramentas open source e soluções da HP (QTP, LoadRunner, Quality Center). Tem larga experiência em testes em metodologias ágeis e testes manuais e automatizados em aplicativos mobile (Android e iOS). Na Qualister é responsável pela execução de consultoria e treinamentos.

Sobre Luiz Lohn

Avatar
Luiz Lohn trabalha como QA Engineer em uma multinacional, além de realizar palestras e consultorias em empresas. Atua como um dos coordenadores do GUTS-SC (Grupo de usuário de teste de software), membro ativo na comunidade de qualidade e teste de software, ministra palestras e cursos. Especializando-se em segurança web e mobile.

Deixe uma resposta

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

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Page Reader Press Enter to Read Page Content Out Loud Press Enter to Pause or Restart Reading Page Content Out Loud Press Enter to Stop Reading Page Content Out Loud Screen Reader Support