Concrete Logo
Hamburger button

Inspecionando Elementos no app iOS com MacacaJS

  • Blog
  • 12 de Março de 2018
Share

Se você trabalha com QA no mundo mobile já deve ter tido problemas na hora de inspecionar alguns elementos por causa da descontinuação de ferramentas. Lembra do caso do UIAutomation, que era o framework principal no Appium para inspeção de elementos? Pois é! Neste contexto, estão sempre aparecendo novas soluções, e muitas delas  open source, que é o caso do macacajs, ferramenta que vamos conhecer um pouco mais neste post. O macaca é uma solução para inspecionar elementos de tela em aplicativos híbridos, nativos e web.

E agora, por onde começar?

Lembrando que aqui vamos falar apenas de app iOS, blz?
Antes de tudo, para rodar o macaca você deve ter instalado o node.js e o npm. Se você tiver o brew instalado na sua máquina, tudo vai ficar mais fácil. É só passar os seguintes comandos:

E depois checar se foi instalado:

Mas o que é aquele npm?
O node package manager (npm) é o gerenciador de dependências de Node, assim como o pip de python e Gradle de Java. Tranquilo até aqui?

Lembrete: é importante ter o XCode instalado. Se você não tiver pode instalar aqui.

Ainda vamos precisar do ios_webkit_debug_proxy:

Finalmente, chegou a hora de instalar o macaca cli:

Sucesso até aqui? Calma, estamos quase lá. Falta instalar o inspector:

E ver se tá tudo ok:

Tudo verdinho?
Ufa! Então é hora de rodar. Simples, rápido e fácil:

… Nesses xxxxx todos vai passar o ID do teu simulador iOS. Para pegar isso, vamos lá!

Esse comando lista todos os simuladores disponíveis. Para achar um simulador específico e que já esteja inicializado é só acrescentar o parâmetro grep ‘Booted’:

Agora é só escolher um e executar. Por exemplo:

Depois que executar o comando acima, vai abrir o navegador com a tela do simulador iOS.

Basicamente funciona como o uiautomatorviewer, é só selecionar o ícone e as informações vão aparecer no lado direito. Também é possível navegar pela árvore na coluna do meio.

Alguns pontos a ressaltar:

  • Podemos usar também o ARC (Appium Ruby Console) como uma segunda alternativa para inspeção de elementos;
  • Uma boa prática: é sempre legal bater um papo com os Devs do time para colocarem id e/ou names nos elementos, assim evitamos usar os temidos xpaths gerados pelo Macaca e fica mais performático.

Fechado? Espero ter ajudado a resolver alguns problemas. Se ficou alguma dúvida ou tem sugestão deixa nos comentários que eu respondo 🙂

Quer trabalhar em um time de QA incrível? Clique aqui.