Testes de integracao entre apps mobile

Ola gente, eu tenho uma duvida sobre como voces estao realizando os testes de integracao entre aplicativos mobile ? Eu estou usando robotium, porem ele nao consegue identificar outro aplicativo, entao eu tenho que mockear o que um app manda para o outro.

Porem gostaria de saber se existe uma forma ou um framework que nao mockeie esses testes. Eu ouvi falar do UIAutomator, mas ele tambem mockeia third apps.

Obrigada !

Pessoal do uber mostrou como faz isso… mas não lembro se falaram da solução (show me the code and libs)… anyway… vale a pena dar uma olhada . eu acho…rs

Olá, bom dia

Normalmente esses testes de integração são feitos fora dos testes de UI. Só se alguém pede algo muito urgente, se faz algo do genero. E quando pedem isso, normalmente são mais relacionados a serviços, então disparo “meio camuflado” no meio do teste e vejo o resultado. Se falha eu paro, se passa, continua o teste de UI.

Se realmente esse tipo de comunicação tem que ser de aplicativo para aplicativo, appium controla bem troca de aplicativos. Mas é algo meio chato de se pensar. Faça algo do genero só se realmente for necessário.

Se puder falar um exemplo do que está passando, talvez possamos chegar a uma resposta mais satisfatória.

Ps: @Leonardo-Galani o uber tentou usar appium, mas precisava de algo mais elaborado para atender os testes de E2E e integrações motorista vs passageiro. Dai eles elaboraram um framework chamado Octopus , mas eles falaram que iam abrir ao mundo (open source) mas até agora nada…Pena, parece ser interessante, mas acredito que essa solução é muito “amarrada” com o uber, o que deve ter dificultado a saida open source para a galera.

Ahh Obrigada pelas respostas, ja me ajudou bastante. Eu ouvi falar nesse Octopus, mas deve estar bem amarrado mesmo ao Uber. O google usa um tal de UIAutomator, mas tambem nao sei se eh uma boa ferramenta.

O exemplo que eu posso dar eh eu tenho um aplicativo que gerencia outros aplicativos instalados no tablet. E esse aplicativo gerencial recebe e envia mensagens desses aplicativos filhos instalados. O que eu preciso testar eh se o meu aplicativo gerencial esta enviando as mensagens corretas e se o meu aplicativo filho esta recebendo e tomando acoes de acordo com essas mensagens. Nao entrei em termos tecnicos, mas acho que consegui explicar a visao do projeto.

Obrigada pelas respostas de qualquer maneira

@Rafaela-Azevedo , então. Eles falaram que iriam liberar depois de terem anunciado no último GTAC. Mas pelo visto vai demorar mais um pouco.

Sobre o UiAutomator. Ele nada mais é uma API (acho que pode se dizer isso) para testes funcionais. Até se der uma olhada rápida no appium, ele usa o uiautomator para enviar e receber comandos para fazer os testes.

Se está cogitando o UIAutomator, melhor dar uma olhada direto no Espresso . Acredito que vá encontrar alguns exemplos para o que precisa.

Dúvida: Chegou a “stressar” o máximo do robotium antes de ver outra possibilidade? Pois né…Vai que só uma questão de dar uma olhada no javadoc…ehhehe

Eu recomendaria o Appium para este cenário.
Já fiz automação com um dispositivo controlador, outro dispositivo passivo (recebendo as ações do controlador) mais uma verificação síncrona com um wearable. Rodou lindamente.

O que teu app gerenciador deve estar fazendo são envios de INTENT para o teu outro app, ou requisições em um serviço/deamon que deve ficar executando no app gerenciado.

Se tu quer testar de forma “black box” o Appium fará tranquilamente. Se for por meio de INTENT o ideal é usar o próprio UIAutomator criando testes de integração a nível de código.

Tu consegue dar mais informações?

@Ramses-Saccol-de-Almeida Nao chegamos a stressar o maximo do robotium, fizemos um prototipo com robotium e o espresso e um cenario basico. Foi entao que percebemos que o Espresso era muito mais instavel com a nossa aplicacao que o Robotium era, um cenario simples e ele sempre dava diferente resultados. Mas voce tem razao, e tivessemos stressado mais o framework, talvez teriamos uma melhor ideia sobre o comportamento de cada um.

@Elias-Nogueira Elias, como nunca fiz esse tipo de teste, me perdi na parte que vc disse que usa uma verificacao sincrona com um wearable. Tem algum link que eu possa entender melhor como fazer isso ? Obrigada !!

@Rafaela-Azevedo Isso é um lado negativo de TODOS os frameworks de automação mobile. Quando se precisa de algo bem “fora da casa”, muitas vezes voce tem que implementar “na mão”…
Mas sobre a instabilidade do espresso, foi algo que me pegou de supresa. Reza a lenda que o espresso é a “evolução” do UiAutomator…Mas como falei, “reza a lenda”…

@Rafaela-Azevedo Claro!
Eu ministrei uma palestra sobre isso e tem um projeto de exemplo no Github com exemplos utilizando Appium.

A sincronia é esperar as “coisas” acontecerem em uma outra ponta.
No teu script principal tu terás várias instâncias de um driver (no Appium) para o controle de cada dispositivo. É isso que eu faço entre o dispositivo e o wearable.
O que tu faria é dispositivo para dispositivo.

http://www.slideshare.net/elias.nogueira/automacao-em-wearables-para-android
https://github.com/eliasnogueira/appium-android-wear

Abraço!

Log in to reply

Looks like your connection to Agile Testers was lost, please wait while we try to reconnect.