Automação de Testes Mobile com Appium

Olá a todos os desenvolvedores, analistas e testadores!

Eu sou a Camila Dias, sou programadora, eu trabalho em uma empresa de automatização de testes mobile.

No momento estou fazendo uma pesquisa para que possamos interagir e refletir sobre as experiências com as execuções dos testes com Appium:

1 - Você usa quais ferramentas para realizar os testes de automatização mobile?

2 - O que mais você priorizaria para alavancar em desenvolvimento de teste mobile no Appium?

3 - Argumenta sobre os prós e contras do Appium.

4 - Quais linguagens de scripts você aplica no Appium?

5 - Os testes que você aplica têm compatibilidade em quais plataformas (Android/iOS)?

6 - Você aplica o teste em caixa branca?

7 - Você realiza screenshots no Appium?

8 - Você realiza a coleta de logs durantes os testes?

Cordialmente,
Camila Dias.

movido para geral :)

Olá Camila tudo bom? Meu Nome é Luiz Lohn, e trabalho com Automação Mobile, especificamente com Appium e reconhecimento de imagens com uma biblioteca específica para Mobile.

1 - Você usa quais ferramentas para realizar os testes de automatização mobile?
Utilizo Appium

2 - O que mais você priorizaria para alavancar em desenvolvimento de teste mobile no Appium?
Levando em consideração o maior risco de Churn

3 - Argumenta sobre os prós e contras do Appium.
Contras: Alguns momentos podem ocorrer problema com app iOS por conta do Instuments. Prós: Utilizo o mesmo código para automatizar Android e IOS, fácil de utilizar, me atende em todos os aspecto, posso integrar com outros frameworks

4 - Quais linguagens de scripts você aplica no Appium?
Python, Java e Ruby

5 - Os testes que você aplica têm compatibilidade em quais plataformas (Android/iOS)?
Android e iOS

6 - Você aplica o teste em caixa branca?
Sim

7 - Você realiza screenshots no Appium?
Sim, em determinado pontos quero ter o screenshot para geração do relatório

8 - Você realiza a coleta de logs durantes os testes?
Sim, parte importante caso quebre algo.

Podemos trocar várias ideias sobre o assunto ;)

Oi Camila, tudo bem?
Eu venho ha pouco mais de dois anos ministrando treinamentos sobre Appium e também dando consultorias referente a testes para dispositivos móveis.

Vou responder também como o Luiz fez, complementando com minha experiência.

1 - Você usa quais ferramentas para realizar os testes de automatização mobile?
Eu uso uma gama não tão grande com as seguintes ferramentas:

  • Calabash (Android e iOS)
  • Espresso (Android)
  • Appium (Android, iOS e Híbrido)
  • Robotium (Android e Híbrido)

2 - O que mais você priorizaria para alavancar em desenvolvimento de teste mobile no Appium?
Não entendi muito bem… Seria os pontos prós e contras abaixo ou outra questão?

3 - Argumenta sobre os prós e contras do Appium.
Contras
Não consigo enxergar um contra realmente frente a outras ferramentas de teste mobile.
Talvez só o conjunto de alguns passos de pré condições antes de executar os testes para iOS em dispositivos reais.

Prós

  • DSL de fácil aprendizado
  • Utilizar os frameworks internos de teste de cada tecnologia (UIAutomation do iOS, UIAutomator do Android e WebDriver para Híbrido)
  • Facilidade de troca de contexto de apps nativas para híbridas e vice-versa no mesmo script
  • Facilidade de executar o script com a app já instalada ou instalando pela primeira vez, além de enviar comandos para reset de dados
  • Escolha da linguagem de programação, suportando as linguagens de desenvolvimento para estas plataformas (Swift para iOS, Java para Android, Javascript para Ionic, C# para Xamarin, etc…)
  • Possibilidade facilitada da escolha de dispositivos para execução: real, simulado ou na núvem
  • Facilidade de execução de testes em uma grid ou em paralelo
  • Possibilidade de executar ações fora do contexto da app (automatizar funções do próprio iOS ou Android)
  • Facilidade de execuções de ações específicas, como swipe, drags, acesso a notificações
  • Ser uma API, o que dá a possibilidade de criar qualquer arquitetura e aplicar qualquer padrão de projeto, como tirar screenshots sob demanda, gerar logs com frameworks externos, etc…

4 - Quais linguagens de scripts você aplica no Appium?
Em todas minhas consultorias foi em Java, mas já fiz scripts com C# e Javascript.

5 - Os testes que você aplica têm compatibilidade em quais plataformas (Android/iOS)?
Ambas: iOS e Android, tanto em contexto nativo quanto híbrido

6 - Você aplica o teste em caixa branca?
Com Appium ou qualquer framework de automação é praticamente impossível.
O que tu tens como “testes em caixa branca”?

7 - Você realiza screenshots no Appium?
Sim. Geralmente tenho uma classe de utils no projeto de automação e tiro ou screenshots por demanda e sempre que um erro ocorre.

8 - Você realiza a coleta de logs durantes os testes?
Sim. E também gero logs próprios do script de automação.

Pode parecer suspeito, por eu dar treinamento e consultoria na ferramenta e de falar dela em várias palestras, mas pra mim, atualmente, ela é a melhor ferramenta de automação mobile.

No último projeto que eu prestei consultoria, junto com o @julio-lima, nós criamos uma arquitetura bem completa com scheduler, logs, screenshots de evidências e executávamos os scripts em 24 dispositivos de forma simultânea quase que 24/7.

Abraço!

1 - Você usa quais ferramentas para realizar os testes de automatização mobile?

Só vale atualmente ou posso puxar o histórico ?

    1. Android - Espresso, Robotium, Selendroid, UIAutomator
    1. iOS - XCTest , Earlygrey, Frank, ios-driver, KIF
    1. Ambos - Appium, Calabash, IBM RTW

2 - O que mais você priorizaria para alavancar em desenvolvimento de teste mobile no Appium?
Ai está. Eu não priorizo, só se torna uma necessidade se o time em que vai utilizar não possui tanta experiencia em automação e seus problemas.

3 - Argumenta sobre os prós e contras do Appium.
Prós

  • Suporte a muitas linguagens de programação
  • Comunidade grande e bem ativa
  • Muitos exemplos e gente usando pelo mundo
  • Webdriver “like”

Contra

  • Depender sempre a “estrutura oficial” de cada empresa (Ou seja, sempre depender do que é permitido por eles… Isso é com qualquer framework, não tem o que fazer…)
  • Lag com UIAutomation (1s além do que a apple já insere por conta…)
  • Aumentar razoavelmente “flaky tests” senão houver um código limpo para rodar.
  • Instrumentação relativamente lenta.

4 - Quais linguagens de scripts você aplica no Appium?
Java, Javascript e Python…Mas por algumas diferenças em Python, sempre fiquei mais “preso” em Java.

5 - Os testes que você aplica têm compatibilidade em quais plataformas (Android/iOS)?
Yeap, Android e iOS.

6 - Você aplica o teste em caixa branca?
Com XCTest e Espresso, até existe uma possibilidade…Com Appium não.

7 - Você realiza screenshots no Appium?
Hum…Depende muito, só quando vejo motivo…Senão é mais código para ter que apontar…

8 - Você realiza a coleta de logs durantes os testes?
Com Appium senão fizer isso , “flaky tests” ficarão mais “flaky” heheheh

Boa tarde a todos,

Estou lisonjeada pela disposição de vocês determinarem um tempo para responder a pesquisa.
Portanto, tem mais duas perguntas para complementar.

9 - Quais ferramentas você utiliza para auxiliar na criação de scripts? (UIAutomator,etc)

10 - Qual a sua opinião sobre record-and-play?

Cordialmente,
Camila Dias.

@Camila-Dias
eita… Desculpe mas não entendi a pergunta 9… rs
Se for referente a inspeções, etc… eu uso o UIAutomatorViewer para aplicações nativas (quando uso o Appium). Quando é algo fora do Appium vai da ferramenta… usando Espresso eu vejo diretamente nos layout e código e com Calabash na própria ferramenta CLi dele.

No iOS eu uso o Appium.app para inspecionar e o Accessibility no emulador.
Em apps híbridas eu uso o Google Chrome Inspector.

10 - Qual a sua opinião sobre record-and-play?
Olha, tem seus ganhos se tu souber exatamente o que a ferramenta gera e souber depois alterar/ajustar o script, mas o ideal é tu não usar alguma função de record and play justamente para entender o que o script faz, onde pode ter algum ponto assíncrono (espera) e saber principalmente alterar o script em casos de erro.

@Camila-Dias :

  • 9 - Quais ferramentas você utiliza para auxiliar na criação de scripts? (UIAutomator,etc)
    Depende do auxílio que quis dizer. Inspeção de elementos é ver no código, UIautomatorView, Accessibility Inspector, por ai vai.
    Se é para validar um comando que queria fazer, usando frames nativos (Espresso ou XCTest por exemplo)
    Se é Validar se os elementos estão presente, tem como fazer isso em teste unitário (dai cai mais a tua pergunta de caixa branca e tal…)

Tá meio indefinido ai essa pergunta, tem como elaborar ela melhor?

  • 10 - Qual a sua opinião sobre record-and-play?
    alt text

Mas brincadeiras a parte, se for usando os recursos nativos de Android e iOS (ou seja, android studio e xcode), tem um ganho para ver os tratamentos que precisa elaborar quando se está criando um teste…

@ said in Automação de Testes Mobile com Appium:

Oi Camila, tudo bem?
Eu venho ha pouco mais de dois anos ministrando treinamentos sobre Appium e também dando consultorias referente a testes para dispositivos móveis.

Vou responder também como o Luiz fez, complementando com minha experiência.

1 - Você usa quais ferramentas para realizar os testes de automatização mobile?
Eu uso uma gama não tão grande com as seguintes ferramentas:

  • Calabash (Android e iOS)
  • Espresso (Android)
  • Appium (Android, iOS e Híbrido)
  • Robotium (Android e Híbrido)

2 - O que mais você priorizaria para alavancar em desenvolvimento de teste mobile no Appium?
Não entendi muito bem… Seria os pontos prós e contras abaixo ou outra questão?

3 - Argumenta sobre os prós e contras do Appium.
Contras
Não consigo enxergar um contra realmente frente a outras ferramentas de teste mobile.
Talvez só o conjunto de alguns passos de pré condições antes de executar os testes para iOS em dispositivos reais.

Prós

  • DSL de fácil aprendizado
  • Utilizar os frameworks internos de teste de cada tecnologia (UIAutomation do iOS, UIAutomator do Android e WebDriver para Híbrido)
  • Facilidade de troca de contexto de apps nativas para híbridas e vice-versa no mesmo script
  • Facilidade de executar o script com a app já instalada ou instalando pela primeira vez, além de enviar comandos para reset de dados
  • Escolha da linguagem de programação, suportando as linguagens de desenvolvimento para estas plataformas (Swift para iOS, Java para Android, Javascript para Ionic, C# para Xamarin, etc…)
  • Possibilidade facilitada da escolha de dispositivos para execução: real, simulado ou na núvem
  • Facilidade de execução de testes em uma grid ou em paralelo
  • Possibilidade de executar ações fora do contexto da app (automatizar funções do próprio iOS ou Android)
  • Facilidade de execuções de ações específicas, como swipe, drags, acesso a notificações
  • Ser uma API, o que dá a possibilidade de criar qualquer arquitetura e aplicar qualquer padrão de projeto, como tirar screenshots sob demanda, gerar logs com frameworks externos, etc…

4 - Quais linguagens de scripts você aplica no Appium?
Em todas minhas consultorias foi em Java, mas já fiz scripts com C# e Javascript.

5 - Os testes que você aplica têm compatibilidade em quais plataformas (Android/iOS)?
Ambas: iOS e Android, tanto em contexto nativo quanto híbrido

6 - Você aplica o teste em caixa branca?
Com Appium ou qualquer framework de automação é praticamente impossível.
O que tu tens como “testes em caixa branca”?

7 - Você realiza screenshots no Appium?
Sim. Geralmente tenho uma classe de utils no projeto de automação e tiro ou screenshots por demanda e sempre que um erro ocorre.

8 - Você realiza a coleta de logs durantes os testes?
Sim. E também gero logs próprios do script de automação.

Pode parecer suspeito, por eu dar treinamento e consultoria na ferramenta e de falar dela em várias palestras, mas pra mim, atualmente, ela é a melhor ferramenta de automação mobile.

No último projeto que eu prestei consultoria, junto com o @julio-lima, nós criamos uma arquitetura bem completa com scheduler, logs, screenshots de evidências e executávamos os scripts em 24 dispositivos de forma simultânea quase que 24/7.

Abraço!

Oi Guest,
queria seu contato para treinamento appium.

Log in to reply

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