Teste de celular - Selendroid Framework
Selendroid é uma estrutura de automação de teste para testar aplicativos Android nativos e híbridos. Os testes Selendroid são escritos usando a API do cliente Selenium Webdriver.
Benefícios do Selendroid
Totalmente compatível com JSON Wire Protocol / Selenium 3 Ready.
Nenhuma modificação do aplicativo em teste é necessária para automatizá-lo.
Testando a web móvel usando o aplicativo de visualização da web do driver Android integrado.
Mesmo conceito para automatizar aplicativos nativos ou híbridos.
Os elementos da IU podem ser encontrados por diferentes tipos de localizadores.
Gestos são suportados: API de interações avançadas do usuário.
Os emuladores existentes são iniciados automaticamente.
Selendroid suporta conexão automática de dispositivos de hardware.
Integração total como um nó no Selenium Grid para escalonamento e teste paralelo.
Suporte a múltiplos APIs de destino Android (10 a 19).
Construído no Inspector para simplificar o desenvolvimento de casos de teste.
Selendroid pode ser estendido em tempo de execução com suas próprias extensões.
Selendroid pode interagir com vários dispositivos Android (emuladores ou dispositivos de hardware) ao mesmo tempo.
Desvantagens do Selendroid
A desvantagem dessa ferramenta é que ela é bastante lenta e, em algumas máquinas com menos de 4 GB de RAM, é inutilizável.
Como usar o Selendroid
Step 1- O pré-requisito para usar o Robotium é o Java SDK (mínimo 1.6). Se você não tiver o Java instalado em seu sistema, siga as etapas abaixo.
Baixe JDK e JRE do Oracle JavaSE
Aceite o contrato de licença.
Instale o JDK e o JRE.
Defina a variável de ambiente conforme mostrado na captura de tela abaixo.
Step 2- Baixe o Android Studio do SDK Android (isso levará algum tempo devido ao tamanho do arquivo).
- Clique duas vezes no exe e execute o instalador.
- Continue com todas as opções padrão.
- Defina o ANDROID_HOME.
Step 3- Baixe os arquivos jar do Selenium e teste o aplicativo do Selendroid
- Baixe o arquivo jar de selênio e teste o aplicativo.
- Coloque-o em qualquer pasta, ou seja, D: \ SelendroidJars.
Step 4 - Dispositivo físico com cabo USB.
Certifique-se de que o dispositivo esteja conectado à estação de trabalho com o cabo USB.
Certifique-se de que o modo de depuração USB (em configurações → Opções do desenvolvedor) esteja ativado.
Teste um aplicativo com Selendroid
Para testar um aplicativo usando Selendroid, siga as etapas abaixo -
Step 1 - Instale o Eclipse.
Step 2 - Crie um projeto Java.
Step 3 - Adicione o arquivo jar Selendroid baixado ao projeto recém-criado.
Step 4 - Adicione os arquivos jar do Selenium baixados ao projeto recém-criado.
Step 5 - Configure testNG no Eclipse.
Step 6- Conecte os dispositivos móveis com o sistema usando o cabo USB. Defina o modo de depuração USB nas opções do desenvolvedor em configurações.
Step 7- Execute o servidor Selendroid. Abra o prompt de comando e escreva o seguinte código e pressione Enter -
java -jar selendroid-standalone-0.17.0-with-dependencies.jar -app selendroid-test-app-0.17.0.apk
O Selendroid-standalone iniciará um servidor http na porta 4444 e fará a varredura de todos os dispositivos virtuais Android (avd) que o usuário criou (~ / .android / avd /).
Abra o navegador da web e navegue até: http://localhost:4444/wd/hub/status.
Step 8- Criar um projeto Java; adicione bibliotecas autônomas Selendroid, jars Selenium e bibliotecas JUnit no caminho de construção.
Step 9 - Crie um pacote no projeto Java.
Step 10 - Crie uma classe no pacote e escreva o código a seguir.
package selTest;
import io.selendroid.SelendroidDriver;
import io.selendroid.common.SelendroidCapabilities;
import io.selendroid.standalone.SelendroidConfiguration;
import io.selendroid.standalone.SelendroidLauncher;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.testng.Assert;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.Test;
public class SelendroidTest {
private WebDriver driver ;
@BeforeSuite
public void setUp() throws Exception {
SelendroidConfiguration config = new SelendroidConfiguration();
config.addSupportedApp("selendroid-test-app-0.9.0.apk");
SelendroidLauncher selendroidServer = new SelendroidLauncher(config);
selendroidServer.launchSelendroid();
SelendroidCapabilities caps = new
SelendroidCapabilities("io.selendroid.testapp:0.9.0");
driver = new SelendroidDriver(caps);
}
@Test
public void selendroidTest() throws Exception {
WebElement inputField = driver.findElement(By.id("my_text_field"));
Assert.assertEquals("true", inputField.getAttribute("enabled"));
inputField.sendKeys("Selendroid");
Assert.assertEquals("Selendroid", inputField.getText());
WebElement button = driver.findElement(By.id("buttonTest"));
button.click();
button = driver.findElement(By.id("button2"));
button.click();
Thread.sleep(5000);
button = driver.findElement(By.id("startUserRegistration"));
button.click();
Thread.sleep(10000);
WebElement element = driver.findElement(By.id("label_username"));
String text = element.getText();
System.out.println(text);
element = driver.findElement(By.id("inputUsername"));
element.sendKeys("bob");
element = driver.findElement(By.id("inputEmail"));
element.sendKeys("[email protected]");
element = driver.findElement(By.id("inputPassword"));
element.clear();
element.sendKeys("test1233");
element = driver.findElement(By.id("inputName"));
element.clear();
element.sendKeys("My Name ");
element = driver.findElement(By.id("input_preferedProgrammingLanguage"));
element.click();
element = driver.findElement(By.id("text1"));
element.click();
element = driver.findElement(By.id("input_adds"));
element.click();
element = driver.findElement(By.id("btnRegisterUser"));
element.click();
element = driver.findElement(By.id("buttonRegisterUser"));
element.click();
}
@AfterSuite
public void tearDown(){
driver.quit();
}
}
Step 11 - Execute a classe com a configuração de execução testNG.