Automação Android

Como contar imagens em uma macro de emulador Android

Use a condição Contador de imagens do EmuloAgent para contar elementos visuais repetidos em uma região e liberar uma ação conforme a quantidade.

Por Sertta 6 min de leitura
contar imagens em emulador Android contador de imagens em macro automação visual Android macro condicional em emulador EmuloAgent

Verificar se um ícone existe responde a uma pergunta de sim ou não. Algumas rotinas Android precisam de um número: continuar quando três cards estiverem visíveis, parar de agir quando nenhum marcador pendente restar ou abrir a próxima tela somente quando a lista tiver menos de cinco itens iguais.

O EmuloAgent oferece a condição Contador de imagens para esse cenário. Ela captura uma referência visual, conta as ocorrências dentro de uma região de detecção, compara o resultado com um número e libera a ação associada somente quando a comparação for verdadeira.

Use automação apenas onde o aplicativo, jogo ou serviço permitir. O contador torna a decisão da macro mais explícita; ele não altera regras de terceiros.

Quando usar o Contador de imagens

Use uma condição de imagem comum quando a única diferença relevante for aparecer ou não aparecer. Use o contador quando a quantidade mudar o que a macro deve fazer.

Bons candidatos são elementos repetidos e com aparência consistente:

  • marcadores de status idênticos em uma lista;
  • cards, espaços ou linhas com o mesmo ícone;
  • avisos pendentes dentro de um painel;
  • marcadores que precisam chegar a zero antes da próxima ação;
  • um conjunto pequeno de controles iguais cuja quantidade define o próximo passo.

Não use o contador para itens visualmente diferentes só porque eles significam a mesma coisa. Uma imagem de referência representa uma aparência. Se houver variações válidas, crie condições separadas e combine-as de forma consciente com grupos E ou OU.

Defina a comparação antes de abrir o construtor

Escreva primeiro a condição como uma frase. Isso evita errar o limite do comparador.

Por exemplo:

  • “executar quando houver exatamente 3 marcadores” vira É igual a 3;
  • “executar quando houver mais de 2 marcadores” vira É maior que 2;
  • “executar enquanto houver menos de 5 cards” vira É menor que 5;
  • “executar quando a quantidade deixar de ser 1” vira É diferente de 1;
  • “executar quando não restar nenhum aviso pendente” vira É igual a 0.

As comparações disponíveis são exatas: É igual a, É diferente de, É maior que e É menor que. Não há uma opção “maior ou igual”. Para representar três ou mais ocorrências, escolha É maior que 2.

Como adicionar a condição Contador de imagens

Prepare o emulador em uma tela que mostre um exemplo limpo do elemento repetido. Depois, abra a macro e localize a ação que deve depender da contagem.

  1. No card da ação, escolha Adicionar condição.
  2. Na seção Detecção, selecione Contador de imagens.
  3. Arraste uma caixa justa ao redor de uma ocorrência do elemento. Capture o elemento em si, não a linha ou o painel inteiro.
  4. Ajuste a Precisão para reconhecer o elemento real sem aceitar ícones parecidos.
  5. Na janela Contador de imagens, escolha o comparador.
  6. Informe a Quantidade de referência, de 0 a 999.
  7. Confirme, salve a macro e revise o card da condição criado.

Durante a execução, o EmuloAgent procura todos os resultados acima do limite de precisão dentro da região de detecção. Detecções próximas da mesma ocorrência são consolidadas para que um único elemento não seja contado várias vezes. A ação só executa quando a contagem final satisfaz a comparação escolhida.

Separe a imagem de referência da região de detecção

A imagem de referência e a região de detecção têm funções diferentes:

  • a imagem de referência define a aparência de uma ocorrência;
  • a região de detecção define onde o EmuloAgent pode contá-la.

Capture uma referência compacta e característica. Inclua forma e cor suficientes para distinguir o alvo, mas evite texto variável, números, quadros de animação ou fundo que muda de uma linha para outra.

Depois, ajuste a região de detecção para cobrir a parte da tela que contém o grupo completo. Uma região limitada ao exemplo capturado tende a devolver um mesmo quando há outras ocorrências fora dela. Uma região que cobre o emulador inteiro pode incluir resultados alheios e analisar mais tela do que o necessário.

Abra o menu da condição para usar Selecionar região de detecção de forma independente de Selecionar nova imagem. Assim, você preserva uma boa referência enquanto amplia ou reduz a área de busca.

Para escolher melhor a referência e a precisão, consulte o guia sobre como ajustar a detecção por imagem, cor e texto.

Exemplo prático: continue quando nenhum aviso pendente restar

Imagine uma tela de teste que mostra o mesmo aviso vermelho ao lado de cada linha pendente. A próxima ação deve capturar uma imagem final somente depois que todos os avisos desaparecerem.

Configure a ação de captura de tela com esta condição:

contagem do aviso vermelho é igual a 0

Monte e valide assim:

  1. Com pelo menos um aviso pendente visível, capture um deles como referência.
  2. Defina a região de detecção ao redor da lista, sem incluir a navegação ou outros ícones vermelhos.
  3. Escolha É igual a e informe 0 como quantidade de referência.
  4. Salve a macro.
  5. Teste uma tela com um ou mais avisos: a captura deve permanecer bloqueada.
  6. Teste a tela concluída, sem avisos: a ação pode executar.

Isso é diferente de verificar se existe uma mensagem de conclusão. O contador testa o estado que interessa: não restou nenhum marcador pendente dentro da lista.

Corrija contagens falsas de forma controlada

Se a contagem estiver acima do esperado, revise primeiro o recorte da referência e a região de detecção. A imagem pode ter poucos detalhes característicos, a precisão pode estar permissiva demais ou a região pode conter o mesmo ícone em uma área sem relação com a lista.

Se a contagem estiver abaixo do esperado, confira se:

  • alguma ocorrência ficou parcialmente fora da região;
  • o elemento muda de cor, tamanho ou conteúdo entre as linhas;
  • você capturou um quadro de animação em vez de uma aparência estável;
  • a precisão rejeita diferenças normais de renderização;
  • elementos sobrepostos escondem parte da referência.

Use o menu da condição para Editar imagem, Selecionar nova imagem, Editar contador ou Selecionar região de detecção sem reconstruir a ação. Altere uma variável por vez e repita a mesma tela de teste para saber qual ajuste corrigiu a contagem.

Teste os limites, não apenas o caminho esperado

Uma condição numérica precisa de testes de fronteira. Se a regra for É maior que 2, teste contagens de 2 e 3. Se for É igual a 0, teste 0 e 1. Se for É menor que 5, teste 4 e 5.

Use este checklist curto:

  1. confirme a quantidade que deve manter a ação bloqueada;
  2. confirme a quantidade vizinha que deve liberá-la;
  3. repita depois de salvar e reabrir a macro;
  4. rode um fluxo completo em um perfil de emulador;
  5. confira a resolução do perfil antes de ampliar a execução.

O checklist de estabilização de macros cobre a etapa seguinte: validar estado inicial, esperas, comportamento de parada e resolução antes de rodar em vários perfis.

Transforme elementos repetidos em uma decisão explícita

O Contador de imagens é útil quando saber que algo apareceu não basta. Capture um elemento estável, limite a contagem à região relevante, escolha a comparação numérica exata e teste os dois lados da fronteira. Assim, a macro age sobre uma quantidade observável em vez de presumir quantos itens estão na tela.

Baixe o EmuloAgent na Microsoft Store e crie macros visuais para emuladores Android com condições por imagem.