Automação ler botão em tela

Pessoal,

Estou fazendo uma automação em java para testes e precisaria localizar um determinado botão ou ícone em tela. Tentei fazer isso lendo todos os pixels da tela até encontra-lo, porém como era de se esperar ficou muito lento. Demora uma eternidade para ler todos os pixels.

Teria alguma forma melhor de fazer isso? Tem alguma classe que leia uma imagem e retorne as coordenadas dela?

Explique melhor o resultado que você espera obter.

A aplicação que está sendo automatizada é sua ou de outra pessoa? Se é sua, você tem os fontes? Pois assim seria mais fácil automatizar esse processo.

Quando você varre a tela e compara os pixels, que padrão está procurando para determinar que está no lugar certo? Esses elementos (botões, ícones) estão sempre em lugares fixos ou sua posição varia?

Abraço.

A aplicação não é minha, não tenho como mexer no fonte. Mas de qualquer forma, o objetivo seria simular as ações dos usuários mesmo.

O padrão para determinar o lugar poderia ser a cor dos pixels. Eu poderia mapear as cores daquele botão e quando encontrar, clicar em cima dele. Isso eu consegui fazer, sem problemas. O problema é que é muito lento mesmo para mapear toda a tela.

Tentei fazer através das coordenadas porém a aplicação será executada em máquinas com resoluções diferentes, então as coordenadas irão mudar. Mas sim, os botões estarão em posições fixas.

Agradeço desde já.