NativeDriver do Google: Testes nativos para dispositivos móveis
O Google disponibilizou a biblioteca NativeDriver, uma implementação da API de testes na web, WebDriver. O NativeDriver é um framework de automação de testes que utiliza a interface nativa do dispositivo ao invés da interface do browser (como utilizado no Selenium, por exemplo), para execução de testes funcionais de uma aplicação.
O Google decidiu reutilizar a API do WebDriver para aplicações nativas em vez de criar uma nova biblioteca, para tirar proveito das muitas similaridades existentes. As duas APIs controlam as mesmas interações com o usuário como cliques, digitação, leitura de textos e troca de janelas. Ganha-se também com a facilidade de aprendizado, pois os desenvolvedores familiares com o WebDriver poderão começar rapidamente com o NativeDriver.
A biblioteca NativeDriver pode ser utilizada para executar comandos automáticos de interface com usuário em aplicações nativas, possibilitando o teste do comportamento em diversas condições. No Android, o NativeDriver utiliza o mecanismo de instrumentação, para controlar componentes do sistema operacional fora do ciclo natural de funcionamento.
Veja abaixo um teste simples usando o NativeDriver, extraído e adaptado do site do projeto:
AndroidNativeDriver driver = new AndroidNativeDriverBuilder().withDefaultServer().build();
driver.startActivity("com.google.android.maps.MapsActivity");
// Abre a atividade Places ao clicar no botão de mesmo nome (ao lado da caixa de pesquisas)
AndroidNativeDriver btn= driver.findElement(By.id("btn_header_places"));btn.click();
// Fecha a janela Places; equivalente a pressionar o botão "voltar" do Android.
driver.navigate().back();
// Rotaciona a visualização para mostrar a interface gráfica em modo paisagem
driver.rotate(ScreenOrientation.LANDSCAPE);
Atualmente, apenas a versão Android da biblioteca está disponível, mas o Google promete lançar uma versão para o iOS em breve.
O Google também disponibilizou uma versão do WebDriver para browsers de dispositivos móveis, que oferece suporte para testes de aplicações web em browsers no Android e no iOS. Foi também iniciado um projeto para disponibilizar uma versão desta API para o Blackberry.
Conteúdo educacional
Lean na Globo.com
Bernardo Heynemann 24 Mai, 2013
Mobilidade: Frameworks, SOs e o Mercado
Ricardo Ogliari 23 Mai, 2013
Caminhos de uma estratégia mobile
Sérgio Lopes 23 Mai, 2013
Complexidade organizacional no Século 21
Alexandre Magno 16 Mai, 2013

Olá visitante
Você precisa cadastrar-se no InfoQ Brasil ou Login para enviar comentários. Há muitas vantagens em se cadastrar.Obtenha o máximo da experiência do InfoQ Brasil.
Dê sua opinião