appium tutorial testing android
Como instalar e configurar o Appium no Windows com o primeiro programa para iniciar o Appium:
Appium é um software de código aberto ferramenta de automação de teste usado para testando aplicativos móveis . Ele permite que os usuários testem vários tipos de aplicativos móveis (como Native, Hybrid e Mobile Web) usando a biblioteca WebDriver padrão.
Existem três tipos de aplicativos móveis:
- Nativo: Aplicativos nativos desenvolvidos com iOS, Android ou Windows SDKs. Eles são específicos da plataforma. Eles são construídos para funcionar em uma plataforma e / ou dispositivo.
- Híbrido: Aplicativos híbridos são aplicativos da web desenvolvidos usando HTML, CSS e wrapper de um aplicativo nativo em cima do UIWebView para iOS e “webview” para aplicativos Android.
- Aplicativos da web para celular: Os aplicativos da web para celular são aqueles acessados por meio de navegadores de celular.
Lista de tutoriais nesta série Appium
Tutorial nº 1: Tutorial do Appium para iniciantes (este tutorial)
Tutorial # 2: Introdução ao Appium: O que é Appium e sua arquitetura
Tutorial nº 3: Baixe, instale e configure Appium para Windows
Tutorial nº 4: Configurando o dispositivo móvel com o sistema no Appium
Tutorial # 5: Automatize o aplicativo nativo no dispositivo Android usando Appium
Tutorial # 6: Como automatizar o aplicativo da web no navegador Chrome no dispositivo Android
O que você aprenderá:
- Por que o Appium é uma ferramenta popular para automatizar aplicativos móveis?
- Configurando a ferramenta Appium no Windows
- Configurar Appium com Eclipse IDE
- Limitações de épocas anteriores
- Desafios enfrentados ao trabalhar com Appium
- Conclusão
Por que o Appium é uma ferramenta popular para automatizar aplicativos móveis?
Appium é uma 'ferramenta de plataforma cruzada', ou seja, permite que você escreva testes em várias plataformas (iOS, Android, Windows), usando as mesmas APIs. Usando appium , você também executa testes automatizados em dispositivos reais, como tablets, telefones celulares etc.
É o mais ferramenta amplamente utilizada para teste de regressão de aplicativos móveis em telefones celulares e tablets. Appium facilita o teste de regressão de aplicativos móveis; especialmente, para grandes aplicativos móveis que são atualizados freqüentemente com novos recursos e funcionalidades.
Configurando a ferramenta Appium no Windows
Pré-requisitos: Esta é uma lista de software e hardware necessários para automatizar um teste de aplicativo móvel usando Appium:
- Seu PC deve ter JDK, Appium Server, Eclipse, Android SDK instalado
- Apk: Aplicativo móvel a ser automatizado em nosso Case ContactManager.apk
- Dispositivo de teste: Neste caso, Moto G
- Frascos: Jars do cliente Java e Jars Selenium.
- Driver USB para dispositivo de teste: Neste caso, Moto G
Passo 1: Instale o Java Development Kit ( JDK )
Passo 2: Configurar Java Caminho da variável de ambiente
Etapa 3: Baixe e instale o Android SDK aqui e atualizar as APIs
Para atualizar a API, Abra o Eclipse -> Clique na janela no menu Eclipse e -> Selecione o gerenciador do Android SDK
Atualize as APIs conforme mostrado na captura de tela abaixo:
Passo 4: Agora precisamos instalar o Appium para Windows. Vai aqui e baixe o Appium para Windows.
Etapa 5: I nstall Node JS a partir daqui: Download Node JS
Etapa # 6: Colocou o ANDROID_HOME caminho, bem como JAVA_HOME caminho
Especifique o caminho para ferramentas e ferramenta de plataforma presentes no caminho Android SDK.
Essas pastas estariam presentes em adt-bundle-windows-x86_64-20140702 sdk
Agora precisamos atualizar a variável de ambiente (consulte a captura de tela abaixo)
(Nota:Clique em qualquer imagem para ampliá-la)
Atualize o caminho com ferramentas e ferramentas da plataforma (pasta presente no Android SDK).
A entrada em Path será semelhante a abaixo:
C: Arquivos de programas nodejs ;% ANDROID_HOME% tools;% ANDROID_HOME% platform-tools
Etapa 7: Acesse o adb
Pressione a combinação de teclas Win + R
Modelo CMD . Agora no tipo CMD ' adb '. adb estará acessível
Preparando dispositivo móvel para automação com Appium
Conecte seu dispositivo de teste móvel via USB ao PC. Habilite o modo de desenvolvedor no celular antes de automatizar o aplicativo.
Etapas para ativar o modo / opções de desenvolvedor no telefone ou tablet Android:
1) Abra as configurações, toque na opção ‘Sobre’, toque em ‘Informações do software’, toque em ‘Mais’.
2) Toque em “Número da compilação” 7 vezes para habilitar as opções do desenvolvedor.
3) Volte para Configurações e certifique-se de que a configuração “Opções do desenvolvedor” está lá.
4) Toque em Opções do desenvolvedor e ative a opção Depuração de USB no menu da próxima tela.
Para obter mais ajuda, siga este ligação .
5) Baixe e instale os drivers USB para o dispositivo de teste móvel no PC.
6) No terminal adb, digite ‘dispositivos adb’
C: Usuários NEERAJ> dispositivos adb
Lista de dispositivos anexa
Dispositivo TA93305G0L
Isso exibirá a lista de dispositivos conectados ao sistema. Estaremos usando o App Contact Manager.apk como um aplicativo de amostra para automatizar. Baixar e instalar Contact Manager.apk no dispositivo.
Iniciando a automação do aplicativo Android usando Appium
Agora execute o appium.exe no PC.
O Appium precisa estar em execução e passar os seguintes parâmetros e o nome do dispositivo nas configurações do Android.
Nota: Não mude o número da porta ou qualquer coisa no ícone de configuração geral. Quando o Appium Server é iniciado, o endereço do servidor, bem como o endereço da porta, serão configurados por padrão. O endereço da porta será 4723 por padrão
Na configuração do Android, o usuário precisa definir o caminho do APK onde o APK está localizado, verificar o caminho do aplicativo, empacotar e iniciar a atividade.
- Conecte seu telefone Android ao PC e ative o modo de depuração USB.
- Abra o prompt de comando.
- Digite o comando adb logcat .
- Abra o aplicativo em seu telefone Android. Pressione imediatamente CTRL + C no prompt de comando
com.example.android.contactmanager é o nome do pacote e com.example.android.contactmanager.ContactManager é o nome da atividade do aplicativo Contact Manager.
Na captura de tela acima, preenchemos todas as informações necessárias no Appium, ou seja, pacote, atividade de inicialização, Nome do dispositivo móvel.
Como localizar o elemento usando UIAutomatorViewer?
1) Para automatizar o aplicativo, primeiro precisamos encontrar os elementos do aplicativo que precisaremos para interagir
para isso, vamos usar UIAutomatorViewer
2) Conecte o dispositivo no qual o aplicativo está instalado ao PC
3) Vá para o Terminal.
Modelo ‘Dispositivos adb’
C: Usuários NEERAJ> dispositivos adb
Lista de dispositivos anexa
Dispositivo TA93305G0L
Isso mostrará a lista de dispositivos conectados ao seu PC.
4) Abra o aplicativo que você deseja automatizar no dispositivo móvel.
5) Abrir UIAutomatorViewer e vá para o seguinte caminho
adt-bundle-windows-x86_64-20140702 sdk tools
6) Portanto, certifique-se de que seu aplicativo seja iniciado UIAutomaterViewer é lançado, clique na captura de tela do dispositivo.
7) Esta opção fará a captura de tela do aplicativo com todas as informações detalhadas de todos os elementos visíveis no aplicativo.
Clique no botão Adicionar contato para nosso cenário de teste
o melhor conversor de youtube para mp4
A partir da captura de tela acima, podemos usar o localizador By.name (“Adicionar contato”)
Da captura de tela acima, podemos usar By.className (“android.widget.EditText”)) como nosso localizador para o nome do contato
By.name (“Salvar”) pode ser usado como nosso localizador para o botão Salvar
Primeiro programa para automatizar um aplicativo no Appium
Execute o script abaixo, o aplicativo Contact Manager será iniciado no dispositivo real e todos os logs serão exibidos no console Appium, mostrando todas as ações sendo invocadas pelo script acima.
importjava.io.File; importjava.net.MalformedURLException; import java.net.URL; importjava.util.List; importorg.openqa.selenium.By; importorg.openqa.selenium.WebDriver; importorg.openqa.selenium.WebElement; importorg.openqa.selenium.remote.CapabilityType; importorg.openqa.selenium.remote.DesiredCapabilities; importorg.openqa.selenium.remote.RemoteWebDriver; importorg.testng.annotations.*; public class appium { WebDriver driver; @BeforeClass public void setUp() throws Exception { //location of the app File app = new File('C:\Users\NEERAJ\Downloads', 'ContactManager.apk'); //To create an object of Desired Capabilities DesiredCapabilities capability = new DesiredCapabilities(); //OS Name capability.setCapability('device','Android'); capability.setCapability(CapabilityType.BROWSER_NAME, ''); //Mobile OS version. In My case its running on Android 4.2 capability.setCapability(CapabilityType.VERSION, '4.2'); capability.setCapability('app', app.getAbsolutePath()); //To Setup the device name capability.setCapability('deviceName','Moto G'); capability.setCapability('platformName','Android'); //set the package name of the app capability.setCapability('app-package', 'com.example.android.contactmanager-1'); //set the Launcher activity name of the app capability.setCapability('app-activity', '.ContactManager'); //driver object with new Url and Capabilities driver = new RemoteWebDriver(new URL('http://127.0.0.1:4723/wd/hub'), capability); } @Test public void testApp() throws MalformedURLException{ System.out.println('App launched'); // locate Add Contact button and click it WebElementaddContactButton = driver.findElement(By.name('Add Contact')); addContactButton.click(); //locate input fields and type name and email for a new contact and save it ListtextFields = driver.findElements(By.className('android.widget.EditText')); textFields.get(0).sendKeys('Neeraj Test'); textFields.get(1).sendKeys('9999999999'); textFields.get(2).sendKeys('testemail@domain.com'); driver.findElement(By.name('Save')).click(); //insert assertions here } }
Configurar Appium com Eclipse IDE
Software necessário para Appium :
- JDK, Appium Server, Eclipse, Android SDK
- Frascos: Jars do cliente Java e Jars Selenium.
- Apk: Aplicação a ser automatizada
- Dispositivo real: Neste caso SAMSUNG Note3
- Driver USB para dispositivo real: Neste caso SAMSUNG Kies
Passo 1: Instale o Kit de Desenvolvimento Java (JDK)
Passo 2: Estabelecer Caminho da variável de ambiente Java
Vá para o Terminal e digite:
Abra .bash_profile
Defina o caminho ANDROID_HOME, bem como o caminho JAVA_HOME
Etapa 3: Instale Android SDK / ADB no MAC
Precisamos instalar ferramentas, extras e pacotes de nível de API correspondentes (neste caso, Android 4.4.2 API 19).
(Nota:Clique em qualquer imagem para ampliá-la)
Passo 4: Baixe e servidor de instalação de épocas
Nota 1: Não há necessidade de definir nada no ícone de configuração geral. Quando o Appium Server é instalado, o endereço do servidor, bem como o endereço da porta, são definidos por padrão. O endereço da porta será 4723. O usuário pode alterar o endereço do servidor, se necessário.
Nota 2: Na configuração do Android, o usuário precisa definir o caminho do APK onde o APK está localizado, verificar o caminho do aplicativo, empacotar e iniciar a atividade.
Como encontrar o nome do pacote do arquivo .Apk e o nome da atividade do iniciador:
Existem muitas maneiras de descobrir o nome do pacote e o nome da atividade do iniciador de um aplicativo. Aqui, o terminal é usado para obter o nome da Atividade do Pacote e do Launcher.
Vá para o terminal e digite:
aapt dump badging
Pressione “Enter” para a tela abaixo:
Se um usuário especificar o nome do pacote no Appium Server, em seguida, o Launcher Activity Name, aguarde os nomes das atividades serem exibidos automaticamente.
Neste caso, o nome da atividade do iniciador é:
' com.amazon.mShop.android.home.HomeActivity. ”
Etapas para ativar o modo / opções de desenvolvedor no telefone ou tablet Android
Passo 1:Habilitar opções do desenvolvedor
1) Toque no Menu principal ícone.
2) Vamos para Configurações .
3) Role para baixo até ‘ Sobre telefone ‘E toque nele.
4) Role para baixo, toque em ‘ Número da versão ' Sete (7) vezes . ( Seu número de construção pode variar ) Após o terceiro toque, o usuário pode ver uma caixa de diálogo divertida “ Você é um desenvolvedor ”. Continue tocando até que a caixa de diálogo seja exibida.
5) Você pode observar as opções do desenvolvedor em sua tela agora.
Passo 2:Ativar depuração USB
1) Vamos para Opções de desenvolvedor .
dois ) Selecione Depuração USB .
3) Pode exibir o Aparecer mensagem e se isso acontecer, simplesmente clique OK .
etapa 3:Baixe e instale o driver USB para o dispositivo real correspondente. Neste caso, SAMSUNG Kies.
Como localizar o elemento usando UIAutomatorViewer?
1) A primeira etapa antes de localizar qualquer elemento no dispositivo é conectar o dispositivo ao computador.
Siga as etapas abaixo para verificar a conectividade do dispositivo:
- Vamos para terminal .
- Modelo ' dispositivos adb '
Isso exibirá a lista de dispositivos conectados ao sistema.
2) No dispositivo real, abra o aplicativo que deve ser automatizado (aqui o aplicativo amazon é automatizado)
3) Vá para o seguinte diretório para abrir UIAutomatorViewer :
Comercial -> Biblioteca -> andróide -> sdk -> Ferramentas -> uiautomatorviewer.bat
ANTIGO: users / bikram.badatya / Library / Android / sdk / tool /
4) Em UIAutomatorViewer, clique em Captura de tela do dispositivo .
5) Ao clicar Captura de tela do dispositivo, a imagem do dispositivo junto com as informações detalhadas será exibida no lado esquerdo da janela do UIAutomator.
6) Ao clicar em qualquer elemento da página, informações relevantes sobre aquele elemento serão exibidas no lado direito.
7) Clique no Menu principal botão para exibir todas as propriedades.
Teste Appium para iniciar o aplicativo Amazon
1) Inicie o Appium Server.
2) Configurações do Android.
3) Configurações gerais para endereço do servidor e endereço da porta:
4) Clique no botão de lançamento .
Snippet de código para iniciar o aplicativo Amazon:
package com.AppiumDemo; //Library to create the path to APK import java.io.File; //Library used to verify if URL is malformed import java.net.MalformedURLException; //Library used to create URL for the Appium server import java.net.URL; import java.util.concurrent.TimeUnit; //Libraries for import selenium WebDriver import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; //Libraries for configuring Desired Capabilities import org.openqa.selenium.remote.DesiredCapabilities; //Library for import TestNG import org.testng.annotations.Test; //Libraries for import Appium Drivers import io.appium.java_client.MobileElement; import io.appium.java_client.android.AndroidDriver; public class LauchAmazon { private static AndroidDriver driver; //static WebDriver driver; @Test public void setup() throws MalformedURLException, InterruptedException{ // Path to File appDir = new File('//Users//bikram.badatya//Library//Android//sdk//platform-tools//'); //Path to to Amazon apk File> File app = new File(appDir, 'Amazon.apk'); //To create an object of Desired Capabilities DesiredCapabilities capabilities = new DesiredCapabilities(); //To set Command Timeout in appium server.Its optional you can set in appium Server itself. capabilities.setCapability('no',true); capabilities.setCapability('newCommandTimeout', 100000); // Name of the OS: Android, iOS or FirefoxOS capabilities.setCapability('platformName', 'Android'); //set the name of the connected device.you have to give same name in both server and the code capabilities.setCapability('deviceName','41001fd89730a000'); //Mobile OS version. My device is running Android 4.4.2 capabilities.setCapability('AndroidVersion','4.4.2'); //set the package name of the app capabilities.setCapability('appPackage', 'com.amazon.mShop.android'); //set the Launcher activity name of the app capabilities.setCapability ('appActivity','com.amazon.mShop.android.home.HomeActivity'); // Name of mobile web browser to automate. It should be an empty string, as we are automation an app. capabilities.setCapability('browserName', ''); //driver object with new Url and Capabilities driver = new AndroidDriverQuando o script acima é executado, o aplicativo Amazon será iniciado no dispositivo real e uma lista de mensagens será exibida no console Appium.
Comandos importantes
1) Para matar o servidor adb:
adb kill-server
2) Para iniciar o servidor adb:
adb start-server
3) Para definir JAVA_Home Path também ANDROID_Home Path
abrir .bash_profile
4) Para obter o nome do pacote e o nome do iniciador do Android no apk (outra maneira)
aapt dump badging nome .apk
Antigo- aapt dump badging
/users/bikram.badatya/Library/Android/sdk/platform-tools/Amazon.apk
5) Para instalar o apk em um dispositivo real
adb install .apk name
6) Para desinstalar o apk em um dispositivo real
desinstalação adb
Antigo - adb uninstall com.amazon.mShop.android
Limitações de épocas anteriores
- Não suporta o nível de API do Android inferior a 17
- Mensagens de brinde não são compatíveis
- A execução do script na plataforma IOS é muito lenta
- O suporte a gestos é limitado
Desafios enfrentados ao trabalhar com Appium
# 1) Para obter o nome da atividade do iniciador, que é necessário para iniciar o aplicativo, muitos métodos podem ser seguidos, como um apk extra chamado “apkInfo” precisa ser instalado, certas linhas de código devem ser escritas, etc. Mas, neste documento, o seguinte comando é usado para obter o nome da atividade do ativador.
ou seja aapt dump badging nome .apk
#dois) Durante a configuração no gerenciador do Android SDK, precisamos nos concentrar nos seguintes pacotes que devem ser desinstalados. Caso contrário, o aplicativo não será iniciado

# 3) Especialmente no MAC, precisamos configurar Java_HomePath e Android HomePath em .bash_profile para que não seja necessário configurar novamente e novamente.
# 4) Iniciar o aplicativo usando um emulador consome mais tempo em comparação com um dispositivo real. Portanto, o uso de um dispositivo real é recomendado.
Conclusão
Com as tendências emergentes e mais demanda por aplicativos móveis, todas as grandes empresas estão migrando para colocar seus negócios em aplicativos móveis. Portanto, para lançar aplicativos móveis de qualidade, o teste de automação de aplicativos móveis é a última tendência da indústria.
A Appium, por sua simplicidade e facilidade de uso, é uma das ferramentas líderes e mais utilizadas em todo o mundo para testes de automação de aplicativos móveis para iOS ou Android.
Sobre o autor: Esta postagem foi escrita por Neeraj, membro da equipe STH. Ele é um testador de software apaixonado, atualmente trabalhando como Engenheiro de Desenvolvimento de Software Sênior em Teste e gosta de testar aplicativos da web e móveis.
Clique aqui para ler mais sobre Automação móvel usando a ferramenta Appium Studio.
Leitura recomendada
- Tutorial de teste de IU móvel (teste de interface de usuário de aplicativos iOS e Android)
- As 15 melhores ferramentas de teste para celular em 2021 para Android e iOS
- Serviços de teste beta de aplicativos móveis (ferramentas de teste beta para iOS e Android)
- Por que o teste de celular é difícil?
- Conectando dispositivos iOS e Android reais da nuvem ao Appium Studio
- Melhores ferramentas de teste de software 2021 (QA Test Automation Tools)
- Tutoriais de teste de aplicativos móveis (um guia completo com mais de 30 tutoriais)
- How to Get a Mobile Testing Job Fast - Mobile Testing Career Guide (Parte 1)