Primeiro a acessibilidade, a visão quando o aplicativo não diz nada: como o GUI Test Studio encontra cada elemento
A maioria dos testes end-to-end quebra porque não consegue mais encontrar um elemento.O GTS Engine + AI encontra cada elemento de duas formas: pergunta ao aplicativo pelas informações de acessibilidade, e encontra o elemento pela visão quando o aplicativo não diz.Por que duas formas de chegar a um elemento tornam um teste robusto, sem localizador para escrever ou manter.
6 min de leituraPela equipe do GUI Test Studio
Por que os testes de ponta a ponta quebram
Pergunte a uma equipe por que os testes de ponta a ponta dela estão vermelhos, e a resposta raramente é um bug.Com mais frequência, um teste não conseguiu mais encontrar um botão: um desenvolvedor renomeou uma classe, uma atualização de framework mudou a estrutura da página, uma caixa de diálogo abriu um pouco mais abaixo, um tema mudou uma cor.O aplicativo estava certo; o teste, não.
1O teste procura
click(".btn-save")
2A página agora tem
class="btn-primary"
3Na tela
Os testes baseados em código encontram elementos com localizadores: um id, um seletor CSS, um XPath, uma posição.Cada um é um palpite sobre como o aplicativo é construído, e todo redesenho quebra alguns deles.As ferramentas baseadas em imagem têm a fraqueza oposta: elas veem a tela, mas não sabem nada do que o aplicativo diz sobre ela.
Dois caminhos até o mesmo elemento
Perguntar ao aplicativo
- Função
- Botão
- Nome
- Salvar
- Visível
- Sim, nada na frente
Encontrar pela visão
Área de busca
Perguntar
O aplicativo diz onde o elemento está
Ver
Ou o mecanismo o encontra pela visão
Comparar
O que está lá, em relação ao que você espera
Relatar
O veredito, em palavras simples
Primeiro: perguntar ao aplicativo
Definição
A maioria dos aplicativos descreve a própria interface para o Windows: cada botão, campo, lista e rótulo com o seu nome, a sua função e o seu lugar na tela.
- São as informações de acessibilidade que os leitores de tela usam, e elas são precisas e imediatas.
- Uma página web faz o mesmo pelos seus próprios elementos.
Quando um teste é gravado, ou descrito em um prompt, o GUI Test Studio guarda o que o aplicativo disse sobre cada elemento a partir do qual uma asserção foi feita.
- Quando o teste é executado, o mecanismo pede primeiro esse elemento ao aplicativo em funcionamento: onde ele está agora, se está visível, se algo o cobre.
- Uma asserção textual pergunta ao aplicativo o que o elemento diz antes de ler as palavras na tela.
| O que o aplicativo diz | O que isso dá ao teste |
|---|---|
| O nome e a função do elemento | O mesmo botão é encontrado de novo, mesmo entre outros parecidos |
| O lugar dele na tela | O elemento é encontrado onde se moveu, na hora |
| Se ele está visível ou coberto | Uma caixa de diálogo ou um menu na frente dele é percebido, nunca atravessado por um clique |
| O que ele diz | Uma asserção textual recebe as palavras exatas, nunca uma leitura errada |
Depois: encontrá-lo pela visão
Alguns aplicativos não dizem nada.
Um jogo desenha os próprios menus.
Um canvas, um gráfico ou um mapa é uma única imagem para o Windows.
Uma área de trabalho remota, uma máquina virtual ou um celular mostrado na sua tela é uma única janela sem nada dentro.
Programas mais antigos desenhados pelo seu próprio kit de ferramentas parecem um único painel vazio.
Ali, o GTS Engine encontra o elemento pela visão, na tela ao vivo, como uma pessoa faz: ele procura a imagem do elemento na sua área de busca, tolera as pequenas diferenças que toda tela tem e distingue elementos parecidos pelo lugar onde estão.Ele também assume quando a resposta do aplicativo não se sustenta: um elemento que ele informa, mas que está oculto, coberto ou longe de onde deveria estar.
Por que dois caminhos tornam um teste robusto
Cada caminho cobre o ponto fraco do outro.
As informações de acessibilidade não se importam com a aparência de um elemento, então um novo tema, uma fonte ou uma escala de tela diferente não o perdem.
A visão não se importa com como o aplicativo foi construído, então uma classe renomeada, um novo framework ou um aplicativo sem nenhuma informação de acessibilidade também não o perdem.
| O que mudou | O que ainda encontra o elemento |
|---|---|
| O código por trás do botão foi reescrito | Os dois: o aplicativo ainda o nomeia, e ele ainda tem a mesma aparência |
| A janela se moveu, ou o layout se deslocou | O aplicativo diz onde ele está agora, e a visão o encontra ali |
| Uma nova cor ou um novo tema | As informações de acessibilidade do aplicativo |
| Um jogo, um canvas, uma área de trabalho remota | A visão |
| Vários botões idênticos | Os nomes dados pelo aplicativo e o lugar do elemento os distinguem |
O resultado é um teste que continua encontrando o que procura enquanto o seu aplicativo muda à sua volta, e que falha por um único motivo: o que o usuário veria está errado.
Encontrar é metade da asserção
Depois que o elemento é encontrado, o GTS Engine compara o que está na tela com o que você espera: a imagem, as palavras, a disposição.Ele ignora o ruído que toda tela tem, o anti-aliasing e a compressão, e detecta as regressões reais que uma pessoa chamaria de mudança: uma cor errada, um ícone faltando, uma palavra que mudou de maiúscula para minúscula.
Ignorado: o ruído que toda tela tem
Detectado: as mudanças que uma pessoa veria
Quando uma asserção falha, a Análise inteligente com IA, o lado de IA opcional do mecanismo, pode dar uma segunda olhada e explicar a diferença em palavras simples, com um modelo na nuvem e a sua própria chave ou com um modelo local no seu próprio computador, um que fornecemos ou um que você traz.Veja Análise inteligente com IA.
Nada para configurar
Não há localizador para escrever, nenhuma configuração de acessibilidade para ativar, nenhum modo para escolher.Grave o teste você mesmo, ou descreva-o em um prompt para o Claude, o ChatGPT ou um modelo de IA no seu próprio computador: o GUI Test Studio guarda o que precisa sobre cada elemento, e o mecanismo decide a cada execução qual caminho o encontra.Tudo é executado no seu próprio computador.
Perguntas
O GUI Test Studio usa a árvore de acessibilidade?
Sim.O GTS Engine + AI primeiro pergunta ao aplicativo onde está um elemento, pelas informações de acessibilidade dele no Windows, ou pelos próprios elementos da página web em um navegador.Ele encontra o elemento pela visão na tela somente quando o aplicativo não diz.
E se o meu aplicativo não tiver informações de acessibilidade?
O teste continua funcionando.Jogos, canvas, áreas de trabalho remotas e programas desenhados pelo seu próprio kit de ferramentas não expõem nada, então o GTS Engine encontra os elementos deles pela visão, na tela, como uma pessoa faz.
Preciso escrever localizadores ou seletores?
Não.O GUI Test Studio guarda sozinho o que precisa sobre cada elemento quando o teste é gravado ou descrito em um prompt.Não há localizador, seletor nem id de elemento para escrever ou manter.
A asserção continua sendo visual quando o elemento é encontrado pela acessibilidade?
Sim.Encontrar o elemento é a primeira metade de uma asserção.A segunda metade sempre compara o que está na tela com o que você espera, então um teste pega o que os seus usuários veriam, como uma cor errada ou um ícone faltando.
Pronto para gravar o seu primeiro teste?
Todos os recursos, por 15 dias.
Prefere ver no tipo de aplicativo que você testa?Agende uma chamada gratuita de 30 minutos com a nossa equipe.