Um toque preso a coordenadas fixas parte da ideia de que o alvo estará sempre no mesmo lugar. Isso falha quando uma lista rola, um aviso altera o layout ou a mesma tela muda de tamanho. Se o alvo tem um rótulo estável, costuma ser mais seguro encontrar as palavras e tocar onde elas aparecem naquele momento.
O EmuloMobile oferece a ação Tocar no texto para esse caso. Ela lê a tela com OCR no próprio Android, filtra os resultados reconhecidos pela confiança mínima e toca no centro da primeira linha correspondente. Você também pode limitar a leitura a uma região para tornar a busca mais rápida e menos ambígua.
Automatize somente rotinas permitidas pelo aplicativo ou serviço envolvido. Este tutorial muda a forma de localizar o alvo; ele não contorna regras nem confirmações de terceiros.
Quando tocar no texto é melhor do que tocar em um ponto
Use o texto como alvo quando o rótulo continua identificando o controle, mas sua posição pode mudar. É o caso de um botão Continuar abaixo de um conteúdo variável, de um item em uma lista rolável ou de uma opção deslocada depois que um aviso aparece.
O toque por coordenada ainda é a escolha mais simples para um controle fixo sem rótulo legível. Já o clique por imagem é mais adequado quando o alvo é um ícone ou quando a tipografia dificulta o OCR. A regra prática é usar o sinal mais estável:
- use Tocar no texto quando o rótulo escrito identifica o alvo;
- use Clique na imagem quando a aparência identifica o elemento;
- use Toque (x, y) quando a posição é fixa por definição.
Para comparar os sinais visuais em um fluxo mais amplo, consulte o guia de automação Android no próprio aparelho.
Antes de criar a ação com OCR
Abra o aplicativo que será automatizado e deixe a tela com o rótulo visível. No EmuloMobile, confira duas configurações antes do teste:
- Em Configurações, ative o serviço de acessibilidade do EmuloMobile. Ele executa somente os toques e gestos configurados por você e desenha o overlay de controle.
- Conceda a permissão de Captura de tela. O OCR analisa localmente os pixels dessa captura.
A captura, o reconhecimento de texto e a análise de imagem usados pela automação acontecem no aparelho. O conteúdo reconhecido na tela não é enviado à Sertta nem a terceiros.
Mantenha também a mesma resolução e orientação usadas na criação da automação. O EmuloMobile registra essas propriedades na macro e as confere antes da edição ou execução.
Como criar a ação Tocar no texto no EmuloMobile
Abra uma automação existente ou selecione Criar automação, informe o nome e confirme a resolução detectada e o modo de uso. Depois, siga esta sequência no construtor.
1. Adicione a ação
Selecione Adicionar Ação, escolha Nova Ação e, em seguida, Tocar no texto. O editor da ação abrirá os controles de OCR desse passo.
No campo Texto a procurar na tela, escreva o rótulo como ele é exibido. Para um botão “Continuar”, informe Continuar; não inclua palavras ao redor que não façam parte da linha usada como alvo.
2. Escolha correspondência parcial ou exata
Aceitar correspondência parcial permite que a linha reconhecida contenha o texto informado. É útil quando a tela mostra “Continuar para pagamento”, mas Continuar é a parte estável.
Exigir texto exato aceita somente uma linha normalizada igual ao texto esperado. Use essa opção quando rótulos curtos se repetem ou quando tocar em uma linha com palavras adicionais seria arriscado.
O aplicativo normaliza a comparação antes do match, mas o OCR ainda depende de pixels legíveis. Trate o modo de correspondência como controle de ambiguidade, não como substituto para um alvo claro.
3. Limite o OCR com uma região
Selecione Região e desenhe um retângulo sobre a parte da tela onde o alvo pode aparecer. O overlay ao vivo fica sobre o aplicativo real, permitindo definir a área no próprio contexto.
Não aperte o retângulo exatamente sobre as letras atuais. Deixe espaço para o rótulo se mover dentro do contêiner esperado. Ao mesmo tempo, evite incluir menus sem relação, rótulos repetidos ou um segundo botão com texto parecido.
Uma região útil pode cobrir o terço inferior de uma caixa de diálogo, em vez da tela inteira. Durante a execução, o EmuloMobile lê somente essa área e converte a posição reconhecida para as coordenadas corretas da tela antes de tocar.
4. Ajuste a confiança mínima só quando necessário
A ação começa com confiança mínima de 50%. Mantenha esse valor no primeiro teste. Se o texto estiver nítido, mas não for encontrado, verifique a escrita e a região antes de reduzir a confiança. Um limite menor pode aceitar leituras ruins; um limite maior pode rejeitar textos pequenos ou estilizados.
Altere uma variável por vez:
- confira o texto esperado;
- confirme se a região contém o rótulo completo;
- compare a correspondência parcial com a exata;
- somente depois ajuste a confiança mínima.
5. Salve explicitamente
Volte do editor da ação e selecione Salvar no construtor. As alterações ficam pendentes até esse comando. Se você tentar sair com mudanças não salvas, o aplicativo oferece as opções de salvar ou descartar.
Exemplo prático: tocar em um botão que muda de posição
Imagine uma tela de confirmação em que um aviso curto aparece algumas vezes acima do botão Continuar. Quando o aviso existe, o botão desce; por isso, uma coordenada fixa pode atingir o aviso ou uma área vazia.
Configure a ação assim:
- Texto a procurar na tela:
Continuar - Correspondência: Exigir texto exato
- Região: corpo e rodapé da caixa, sem incluir a barra de navegação
- Confiança mínima: comece em 50%
A ação não reaproveita a coordenada da tela de configuração. A cada execução, ela captura a tela atual, roda o OCR na região escolhida, encontra a primeira linha reconhecida que corresponde ao texto e toca no centro atual dessa linha.
Se a mesma palavra aparecer duas vezes dentro da região, reduza o retângulo para manter somente o botão desejado. A ação usa propositalmente a primeira linha correspondente; portanto, a região é o principal recurso para eliminar dúvidas sobre o alvo.
Adicione uma condição quando a ação precisar de proteção
Localizar o alvo pelo texto resolve o deslocamento, mas não define se o passo inteiro é apropriado naquele estado. Você pode adicionar uma condição ao mesmo passo quando outro sinal precisar proteger a ação.
Por exemplo, exija que o título da caixa de diálogo apareça antes de tocar em Continuar. A condição Texto na Tela pode verificar se o texto contém, é igual, é diferente ou corresponde a uma expressão regular. Condições por imagem e cor também estão disponíveis quando representam melhor o estado.
A condição é avaliada antes da ação. Se ela não for satisfeita, o toque não acontece. Mantenha as funções separadas: a condição responde “esta é a tela certa?”, enquanto Tocar no texto responde “onde está o controle agora?”.
Teste o passo na tela real
Antes de executar a automação completa, posicione o aplicativo na tela esperada e use Testar no passo. O EmuloMobile informa se as condições passaram e se a ação foi disparada.
Observe estes padrões de falha:
- Texto não encontrado: confira o rótulo, a região de busca e a confiança mínima.
- Linha errada selecionada: exija texto exato ou restrinja a região.
- Toque correto em uma orientação apenas: retorne à resolução e à orientação registradas na macro.
- Captura indisponível: pare qualquer automação ativa e prepare a captura novamente.
Depois que o passo funcionar sozinho, teste uma passada completa. Salve a automação, volte à lista, prepare a execução e use o controle flutuante para iniciar, pausar ou parar enquanto observa o aplicativo de destino.
Torne o alvo de OCR específico, não frágil
Uma boa ação com OCR é específica o bastante para identificar um único controle, mas flexível para tolerar o deslocamento normal. Prefira um rótulo estável, escolha o modo de correspondência mais restrito que ainda funciona e limite a busca à menor região prática. Essas três decisões costumam importar mais do que mudar repetidamente o controle de confiança.
Se o fluxo precisar guardar estado depois do toque, continue no guia de variáveis, contadores e ações condicionais.
Instale o EmuloMobile e crie uma automação Android que entende texto diretamente no aparelho.