Android

14 dez, 2016

Como resolver o erro “App did no start” com Calabash-android?

Publicidade

Ao iniciar um projeto com Calabash-android para criar testes automatizados com utilização do Cucumber, me deparei com o erro “App did not start”:

1

Como havia atualizado algumas Gems, pensei que fosse algo decorrente dessas atualizações e comecei a buscar a causa desse erro. Depois de constatar que não estava relacionado às minhas atualizações, descobri que o erro decorria do uso de permissões no app que estava testando. Faltava a permissão de acesso à Internet no app (:-). Após adicionar a permissão no arquivo AndroidManifest.xml, problema resolvido!

Mas por que isso aconteceu?

Porque o Calabash-android, para interagir com a aplicação que está sendo testada, utiliza o protocolo HTTP entre o seu servidor (que é instalado no device ou simulador onde serão executados os testes) e a aplicação em teste. Assim, sem essa permissão habilitada, não era possível estabelecer uma conexão entre o servidor do Calabash e a aplicação. O seguinte erro foi mostrado no log da aplicação quando da tentativa do Calabash de estabelecer comunicação com a mesma:

2

Esse log diz que não foi possível abrir um socket para conexão entre a aplicação e o servidor de testes requisitado pelo Calabash devido à permissão negada.

3

Após adicionar a permissão, gerei um novo apk e foi possível estabelecer a conexão com a aplicação e dar start nela. No log da aplicação no Android Studio vi o seguinte:

4

Ou seja, \o/.

Ficou alguma dúvida ou tem algo a dizer? Aproveite os campos abaixo! Até a próxima.

***

Artigo publicado originalmente em http://www.concretesolutions.com.br/2016/12/01/erro-app-did-not-start/.