Tutorial APPIUM para Android & Teste de aplicativos móveis iOS

Índice:

Anonim

O que é Appium?

APPIUM é uma estrutura de teste de IU de aplicativo móvel de código aberto distribuída gratuitamente. O Appium permite testes de aplicativos nativos, híbridos e da web e oferece suporte a testes de automação em dispositivos físicos, bem como em um emulador ou simulador. Ele oferece teste de aplicativo de plataforma cruzada, ou seja, API única funciona para scripts de teste de plataforma Android e iOS.

NÃO tem dependência do sistema operacional do dispositivo móvel. Porque o APPIUM tem uma estrutura ou wrapper que traduz os comandos do Selenium Webdriver em comandos UIAutomation (iOS) ou UIAutomator (Android), dependendo do tipo de dispositivo, não de qualquer tipo de sistema operacional.

Appium oferece suporte a todas as linguagens que têm bibliotecas de cliente Selenium, como Java, Objective-C, JavaScript com node.js, PHP, Ruby, Python, C #, etc.

Neste tutorial, aprenderemos sobre

  • Como funciona a APPIUM?
  • Pré-requisito para usar APPIUM
  • Instale o Appium Desktop:
  • Inspetor APPIUM
  • Anexe o emulador do Android ao Appium
  • Caso de teste APPIUM para aplicativo Android nativo (calculadora)
  • Limitações usando APPIUM
  • Erros comuns encontrados e etapas de solução de problemas no Appium

Como funciona a APPIUM?

  • Appium é um 'servidor HTTP' escrito usando uma plataforma Node.js e dirige iOS e uma sessão Android usando o protocolo de conexão Webdriver JSON. Portanto, antes de inicializar o Appium Server, o Node.js deve ser pré-instalado no sistema.
  • Quando o Appium é baixado e instalado, um servidor é configurado em nossa máquina que expõe uma API REST.
  • Ele recebe a solicitação de conexão e comando do cliente e executa esse comando em dispositivos móveis (Android / iOS).
  • Ele responde de volta com respostas HTTP. Novamente, para executar essa solicitação, ele usa as estruturas de automação de teste móvel para conduzir a interface do usuário dos aplicativos. Uma estrutura como: -
    • Apple Instruments para iOS (os instrumentos estão disponíveis apenas no Xcode 3.0 ou posterior com OS X v10.5 e posterior)
    • Google UIAutomator para Android API de nível 16 ou superior
    • Selendroid para Android API de nível 15 ou inferior

Pré-requisito para usar APPIUM

  1. Instale o ANDROID SDK (Studio) [Link] -
  2. Instale o JDK (Java Development Kit) [Link]
  3. Instale o Eclipse [link]
  4. Instale TestNg para Eclipse [link]
  5. Instale o Selenium Server JAR [Link]
  6. Biblioteca cliente Appium [link]
  7. Informações do aplicativo APK no Google Play [Link]
  8. js (Não obrigatório - Sempre que o servidor Appium é instalado, ele vem por padrão com "Node.exe" e NPM. Está incluído na versão atual do Appium.)
  9. Instale Appium Desktop

Instale o Appium Desktop:

Appium Studio é um aplicativo GUI de código aberto para instalar o Appium Server. Ele vem com todos os pré-requisitos para instalar e usar o Appium Server. Também possui um Inspetor para obter informações básicas sobre seus Apps. Ele vem com um gravador para criar código clichê para automatizar seus aplicativos móveis.

Etapa 1) Vá para http://appium.io/ e clique em Baixar Appium.

Etapa 2) Para Windows, selecione o arquivo exe e faça o download. O arquivo tem cerca de 162 MB e o download demorará de acordo com a velocidade da sua internet.

Etapa 3) Clique no exe baixado.

Etapa 4) Em uma máquina Windows, não há necessidade de instalar o Appium. Ele é executado diretamente do exe. Depois de clicar no exe, você verá a imagem a seguir por alguns minutos.

Para Mac, você precisa instalar o dmg

Etapa 5) Em seguida, você verá a janela Server Start. Ele preenche o host padrão e a opção de porta que você pode alterar. Ele também menciona a versão do Appium que está sendo usada.

Etapa 6) Ao clicar no botão Iniciar Servidor, um novo servidor é iniciado no host e na porta especificados. A saída do log do servidor é mostrada.

Etapa 7) Clique em Janela de Nova Sessão .

Etapa 8) Você pode inserir as capacidades desejadas e iniciar uma sessão.

Inspetor APPIUM

Semelhante à ferramenta de gravação e reprodução Selenium IDE, o Appium tem um 'Inspetor' para gravar e reproduzir. Ele registra e reproduz o comportamento do aplicativo nativo inspecionando o DOM e gera os scripts de teste em qualquer idioma desejado. No entanto, atualmente, não há suporte para Appium Inspector para Microsoft Windows. No Windows, ele inicia o Appium Server, mas não inspeciona os elementos. No entanto, o visualizador UIAutomator pode ser usado como uma opção para inspecionar elementos.

Etapas para iniciar o Appium Inspector na máquina Mac: -

Etapa 1) Baixe e inicie o servidor Appium com o endereço IP padrão 0.0.0.0 e a porta 4725.

  1. Selecione o arquivo de origem ou os arquivos .app do local para teste.
  2. Marque a caixa de seleção 'Caminho do aplicativo' para habilitar o botão 'Escolher'.

Etapa 2) Agora, clique no botão 'Escolher' e terá a opção de navegar e selecionar o arquivo de teste da unidade local.

Etapa 3) Inicie o Simulador na máquina Mac.

Etapa 4) Clique no botão 'Iniciar' no canto superior direito, que ativa um ícone de cor azul. Novamente, clique neste ícone de cor azul, ele abrirá o inspetor Appium e o Simulador com um aplicativo pré-selecionado.

Etapa 5) - Lançar o Appium Inspector mostrará a hierarquia de elementos na estrutura de colunas. Além disso, um usuário pode aplicar ações usando botões como Tocar, Deslizar, etc.

Etapa 6) Clique no botão 'Parar' para interromper a gravação.

Anexe o emulador do Android ao Appium

Etapa 1) Instale o Android SDK em seu sistema.

Vá para Painel de controle >> Sistema e segurança >> Sistema e, no painel esquerdo, clique em 'Configurações avançadas do sistema'. Na janela 'Propriedades do Sistema', clique na guia 'Avançado' e, em seguida, clique no botão "Variáveis ​​de Ambiente"

Etapa 2) Agora, na janela 'Variáveis ​​de ambiente', clique duas vezes em 'Caminho' e defina a variável ANDROID_HOME que aponta para o diretório SDK. No caminho, acrescente todo o caminho da pasta SDK.

por exemplo -

C: \ User \ ABC \ Desktop \ adt-bundled-windows-x86_64-20140321 \ sdk

Etapa 3) Inicie seu emulador de Android ou conecte qualquer dispositivo Android ao seu sistema (certifique-se de ter a opção de depuração Android habilitada em seu dispositivo Android. Para verificar a opção de depuração. Vá para Configurações do dispositivo >> Opções do desenvolvedor >> Marque "Opção de depuração" )

Etapa 4) Abra o prompt de comando e navegue até o diretório \ platform-tools \ do Android SDK (por exemplo, D: \ adt-bundle-windows-x86_64-20130514 \ sdk \ platform-tools).

Etapa 5) - Execute o comando 'adb devices'. Você pode ver o seu dispositivo conectado listado na janela do prompt de comando. (Em CMD write '> adb devices'- Este comando irá listar as instâncias do emulador conectado. Ex: adb -s emulator-5554 install )

Etapa 6) - Execute o comando 'adb start-server'. Ele iniciará o servidor ADB que será usado pelo Appium para enviar comandos ao seu dispositivo Android.

Etapa 7) Agora, navegue até o diretório Appium em seu sistema e inicie o Appium clicando em um arquivo Appium.exe.

Etapa 8) Não altere o endereço IP ou o número da porta e clique no botão 'Iniciar'. Seu console Appium inicia em 127.0.0.1:4723 conforme mostrado abaixo.

Etapa 9) Clique no botão 'Iniciar', o servidor Appium começou a funcionar em seu sistema.

Caso de teste APPIUM para aplicativo Android nativo (calculadora)

Etapa 1) ) Baixe o plugin ADT eclipse ou baixe o ADT empacotado separadamente aqui

Etapa 2) Abra o Eclipse e crie um novo projeto >> Pacote >> Classe

Etapa 3) Importe a biblioteca Selenium e Testng dentro desse novo projeto.

Etapa 4) Agora crie um pequeno programa de teste para 'Calculator.app' para somar dois números.

package src_Appium;import java.net.MalformedURLException;import java.net.URL;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;// import org.openqa.selenium.remote.CapabilityType;import org.openqa.selenium.remote.DesiredCapabilities;import org.openqa.selenium.remote.RemoteWebDriver;import org.testng.annotations. *;public class Calculator {Driver WebDriver;@Antes da aulapublic void setUp () throws MalformedURLException {// Configure os recursos desejados e passe a atividade do aplicativo Android e o pacote do aplicativo para o AppiumCapacidades de DesiredCapabilities = new DesiredCapabilities ();resources.setCapability ("BROWSER_NAME", "Android");abilities.setCapability ("VERSION", "4.4.2");abilities.setCapability ("deviceName", "Emulator");abilities.setCapability ("platformName", "Android");abilities.setCapability ("appPackage", "com.android.calculator2");// Este nome de pacote do seu aplicativo (você pode obtê-lo no aplicativo de informações apk)abilities.setCapability ("appActivity", "com.android.calculator2.Calculator"); // Esta é a atividade do Launcher do seu aplicativo (você pode obtê-la no aplicativo apk info)// Crie uma instância RemoteWebDriver e conecte-se ao servidor Appium// Ele iniciará o aplicativo Calculadora no dispositivo Android usando as configurações especificadas em Recursos desejadosdriver = novo RemoteWebDriver (novo URL ("http://127.0.0.1:4723/wd/hub"), recursos);}@Testepublic void testCal () throws Exception {// localize o texto na calculadora usando By.name ()WebElement dois = driver.findElement (By.name ("2"));two.click ();WebElement plus = driver.findElement (By.name ("+"));plus.click ();WebElement quatro = driver.findElement (By.name ("4"));four.click ();WebElement equalTo = driver.findElement (By.name ());equalTo.click ();// localize a caixa de edição da calculadora usando By.tagName ()Resultados de WebElement = driver.findElement (By.tagName ("EditText"));// Verifique o valor calculado na caixa de ediçãoassert results.getText (). equals ("6"): "O valor real é: + results.getText () + "não corresponde ao valor esperado: 6";}@Depois da aulapublic void teardown () {// feche o aplicativodriver.quit ();}}

Appium Server e Android Emulator em 'AVD Manager' e clique em Executar >> TestNG. O programa acima executará o 'Calculator.app' no emulador selecionado e o resultado será exibido no console do Eclipse usando uma estrutura TestNG.

Limitações usando APPIUM

  1. Appium não suporta teste de versão do Android inferior a 4.2
  2. Suporte limitado para teste de aplicativo híbrido. Ex: não é possível testar a ação de troca do aplicativo do aplicativo web para nativo e vice-versa.
  3. Não há suporte para executar o Appium Inspector no Microsoft Windows.

Erros comuns encontrados e etapas de solução de problemas no Appium

Erro Etapas de solução de problemas
1. erro: - Os seguintes recursos desejados são necessários, mas não foram fornecidos: nome do dispositivo, nome da plataforma 1. Adicione os recursos desejados: nome do dispositivo, nome da plataforma no script APPIUM. por exemplo: functions.setCapability ("deviceName", "Emulator"); abilities.setCapability ("platformName", "Android");
2. erro: não foi possível encontrar o adb. Defina a variável de ambiente ANDROID_HOME com o caminho do diretório raiz do Android SDK. 2. Você provavelmente precisa configurar o caminho do diretório raiz do SDK nas 'Variáveis ​​de ambiente' do sistema na coluna 'Caminho'
3.error: org.openqa.selenium.SessionNotCreatedException: Não foi possível criar uma nova sessão. 3. Você precisa definir um caminho de aplicativo correto e reiniciar o servidor Appium.
4. Como encontrar o elemento DOM ou XPath em um aplicativo móvel? 4. Use 'UIAutomatorviewer' para encontrar o elemento DOM para o aplicativo Android.