Questão nº 44

Questão de Tecnologia da Informação · FCC TRT-1 2025 (nº 44)

FCC2025Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Ever comentário ↓

O time de TI de um Tribunal Regional do Trabalho que está desenvolvendo uma aplicação web configurou o Selenium WebDriver para realizar testes de funcionalidades no navegador Chrome. Durante os testes, identificaram que o script falha ao tentar interagir com o botão de "Enviar", apresentando o erro NoSuchElementException. O desenvolvedor analisou o código e percebeu que o botão é carregado dinamicamente após a conclusão de uma animação. Nesse contexto, a abordagem mais adequada que o time deve adotar para resolver o problema e garantir que o botão seja corretamente identificado e clicado nos testes é

Resposta comentada

Gabarito Alternativa E

Quando um elemento de uma página web (como um botão) aparece na tela somente depois de alguma ação ou animação, ele é considerado carregado dinamicamente. O Selenium precisa "esperar" que esse elemento esteja realmente presente e interativo antes de tentar usá-lo, caso contrário, ele não o encontrará e o teste falhará.

  • (A) Incorreta: Configurar o WebDriver para ignorar exceções é uma prática perigosa que mascararia o problema em vez de resolvê-lo, podendo levar a testes que parecem passar, mas não validam a funcionalidade corretamente.
  • (B) Incorreta: Atualizar as ferramentas (WebDriver e Selenium IDE) pode trazer melhorias de desempenho ou correções de bugs, mas não resolve intrinsecamente um problema de sincronização entre o script de teste e o carregamento dinâmico de elementos na página.
  • (C) Incorreta: O Implicit Wait (espera implícita) define um tempo máximo que o WebDriver deve esperar por um elemento antes de lançar um NoSuchElementException para qualquer elemento que ele tente encontrar. Embora ajude em alguns casos de carregamento dinâmico, ele se aplica globalmente a todas as chamadas findElement e findElements e não é ideal para esperar por uma condição específica (como um botão se tornar clicável) em um elemento particular, sendo menos preciso e eficiente que o Explicit Wait para esse cenário. Armadilha da banca: Esta alternativa é tentadora porque o Implicit Wait parece resolver problemas de carregamento, mas ele não é a abordagem mais adequada ou granular para uma condição específica de um elemento.
  • (D) Incorreta: Aumentar o tempo de execução do script, geralmente com Thread.sleep(), é uma solução ineficiente e não confiável. Ela faz o script pausar por um tempo fixo, o que pode ser muito longo (desperdiçando tempo) ou muito curto (se a animação demorar mais do que o esperado), levando a falhas intermitentes.
  • (E) Correta: O Explicit Wait (espera explícita) é a abordagem mais robusta e recomendada para este cenário. Ele permite que o script espere por uma condição específica (como a presença, visibilidade ou clicabilidade de um elemento) por um tempo máximo definido. Usando WebDriverWait e ExpectedConditions, o Selenium verifica a condição repetidamente até que ela seja atendida ou o tempo limite expire, garantindo que o botão esteja pronto para interação de forma eficiente e confiável.

Fonte: FCC TRT-1 2025 Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 004). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho