Tratamento de exceções de selênio (lista de exceções comuns)

Índice:

Anonim

O que é uma exceção?

Uma exceção é um erro que ocorre no momento da execução de um programa. No entanto, ao executar um programa, as linguagens de programação geram uma exceção que deve ser tratada para evitar que o programa trave.

A exceção indica que, embora o evento possa ocorrer, esse tipo de evento ocorre com pouca frequência. Quando o método não é capaz de manipular a Exceção, ela é lançada para sua função de chamador. Eventualmente, quando uma exceção é lançada fora da função principal, o programa é encerrado abruptamente.

Neste tutorial, você aprenderá:

  • O que é uma exceção?
  • Exceções no driver da Web Selenium
  • Tratamento de exceções de selênio
  • Métodos para exibir exceção

Exceções comuns no driver da Web Selenium

Nome de exceção Descrição
ElementNotVisibleException Este tipo de exceção Selenium ocorre quando um elemento existente no DOM tem um recurso definido como oculto.
ElementNotSelectableException Essa exceção do Selenium ocorre quando um elemento é apresentado no DOM, mas você pode selecionar. Portanto, não é possível interagir.
NoSuchElementException Esta exceção ocorre se um elemento não for encontrado.
NoSuchFrameException Esta exceção ocorre se o alvo do quadro a ser alternado não existe.
NoAlertPresentException Esta exceção ocorre quando você muda para nenhum alerta apresentado.
NoSuchWindowException Esta exceção ocorre se o alvo da janela a ser alternado não existir.
StaleElementReferenceException Essa exceção do Selenium ocorre quando o elemento da web é desanexado do DOM atual.
SessionNotFoundException O WebDriver está agindo depois que você sai do navegador.
TimeoutException Lançado quando não há tempo suficiente para que um comando seja concluído. Por exemplo, o elemento pesquisado não foi encontrado no tempo especificado.
WebDriverException Esta exceção ocorre quando o WebDriver está agindo logo após você fechar o navegador.
ConnectionClosedException Este tipo de Exceção ocorre quando há uma desconexão do driver.
ElementClickInterceptedException O comando não pode ser concluído porque o elemento que recebe os eventos está ocultando o elemento que foi solicitado clicado.
ElementNotInteractableException Essa exceção Selenium é lançada quando qualquer elemento é apresentado no DOM. No entanto, é impossível interagir com tal elemento.
ErrorInResponseException Isso acontece durante a interação com a extensão do Firefox ou o servidor de driver remoto.
ErrorHandler.UnknownServerException A exceção é usada como um espaço reservado no caso de o servidor retornar um erro sem um rastreamento de pilha.
ImeActivationFailedException Essa expectativa ocorrerá quando a ativação do mecanismo IME falhar.
ImeNotAvailableException Ocorre quando o suporte IME não está disponível.
InsecureCertificateException A navegação fez o agente do usuário acertar um aviso de certificado. Isso pode ser causado por um certificado TLS inválido ou expirado.
InvalidArgumentException Ocorre quando um argumento não pertence ao tipo esperado.
InvalidCookieDomainException Isso acontece quando você tenta adicionar um cookie em um domínio diferente em vez do URL atual.
InvalidCoordinatesException Este tipo de exceção corresponde a uma operação de interação que não é válida.
InvalidElementStateExceptio Ocorre quando o comando não pode ser concluído quando o elemento é inválido.
InvalidSessionIdException Essa exceção ocorreu quando o determinado ID de sessão não foi incluído na lista de sessões ativas. Isso significa que a sessão não existe ou também está inativa.
InvalidSwitchToTargetException Isso ocorre quando o alvo do quadro ou janela a ser alternado não existe.
JavascriptException Esse problema ocorre durante a execução do JavaScript fornecido pelo usuário.
JsonException Ocorre quando você tem recursos para obter a sessão, mas ela não foi criada.
NoSuchAttributeException Este tipo de exceção ocorre quando o atributo de um elemento não foi encontrado.
MoveTargetOutOfBoundsException Ocorre se o destino fornecido para a metodologia ActionChains move () não for válido. Por exemplo, fora do documento.
NoSuchContextException ContextAware faz testes de dispositivos móveis.
NoSuchCookieException Esta exceção ocorre quando nenhum cookie correspondente ao caminho de acesso fornecido for encontrado para todos os cookies associados ao documento em navegação no momento.
NotFoundException Esta exceção é uma subclasse de WebDriverException. Isso ocorrerá quando um elemento no DOM não existir.
RemoteDriverServerException Essa exceção Selenium é lançada quando o servidor não está respondendo devido ao problema de os recursos descritos não serem adequados.
ScreenshotException Não é possível capturar uma tela.
SessionNotCreatedException Acontece quando uma nova sessão não pode ser criada com sucesso.
UnableToSetCookieException Isso ocorre se um driver não consegue definir um cookie.
UnexpectedTagNameException Acontece se uma classe de suporte não obteve um elemento da web conforme o esperado.
UnhandledAlertException Essa expectativa ocorre quando há um alerta, mas o WebDriver não consegue realizar a operação de Alerta.
UnexpectedAlertPresentException Ocorre quando há o surgimento de um alerta inesperado.
UnknownMethodException Essa exceção ocorre quando o comando solicitado corresponde a um URL conhecido, mas não corresponde a uma metodologia para um URL específico.
UnreachableBrowserException Esta exceção ocorre apenas quando o navegador não pode ser aberto ou travado por algum motivo.
UnsupportedCommandException Isso ocorre quando o WebDriver remoto não envia comandos válidos conforme o esperado.

Tratamento de exceções de selênio

Aqui estão alguns padrões importantes com os quais você pode lidar com exceções no Selenium WebDriver:

Try-catch : este método pode capturar exceções, que usam uma combinação das palavras-chave try e catch. O comando Try indica o início do bloco e Catch é colocado no final do bloco try, o que ajuda a resolver a Exceção.

tentar{// Código} catch (exceção e) {// Código para manipulação de exceção}
  • Vários blocos catch : Existem vários tipos de exceções, e você pode esperar mais de uma exceção de um único bloco de código. Várias capturas ajudam você a lidar com cada tipo de exceção separadamente com um bloco de código separado. Ele pode ser usado para mais de dois blocos catch e não há limitação no número de blocos catch.
tentar{//Código} catch (ExceptionType1 e1) {// Código para lidar com a exceção 1} catch (ExceptionType2 e2) {// Código para lidar com a exceção 2}
  • Throw : quando você deseja gerar uma Exception, a palavra-chave Throw é usada para lançar a Exception para tratá-la em tempo de execução. Quando você está lançando uma exceção sem manipulá-la, eles precisam usar a palavra-chave Throw.
public static void anyFunction () lança Exception {tentar {// escreva seu código aqui} Catch (Exceção b) {// Faça o que quiser fazer// Jogue a exceção de volta para o sistemalance (b);}}
  • Exceções múltiplas : você pode mencionar várias exceções na cláusula throws.
public static void anyFunction () lança ExceptionType1, ExceptionType2 {tentar {// escreva seu código aqui} catch (ExceptionType1 e1) {// Código para lidar com a exceção 1} catch (ExceptionType1 e2) {// Código para lidar com a exceção 2}
  • Finalmente : A palavra-chave Final é usada para criar um bloco de código sob o bloco try. É o código final que o ajuda a executar independentemente da ocorrência de uma exceção
tentar {//Código} catch (ExceptionType1 e1) {// Catch block} catch (ExceptionType2 e2) {// Catch block} catch (ExceptionType3 e3) {// Catch block} finalmente {// O bloco finally sempre é executado.}

Métodos para exibir exceção

Você também pode usar os seguintes métodos para exibir informações de exceção:

  • printStackTrace () : Esta função imprime o rastreamento da pilha, o nome da Exceção e outras descrições úteis.
  • toString () : Esta função retorna uma mensagem de texto que descreve o nome e a descrição da exceção.
  • getMessage () : Ajuda a exibir a descrição da Exceção.

Resumo:

  • Uma exceção é um erro que ocorre no momento da execução de um programa.
  • Try-catch: este método pode capturar exceções, que usam uma combinação das palavras-chave try e catch.
  • Várias capturas o ajudam a lidar com cada tipo de exceção separadamente com um bloco de código separado.
  • A palavra-chave Throw é usada para lançar Exception para tratá-la em tempo de execução.
  • printStackTrace (): esta função imprime rastreamento de pilha, nome da exceção e outras descrições úteis
  • toString (): Esta função retorna uma mensagem de texto que descreve o nome e a descrição da exceção.
  • getMessage (): ajuda a exibir a descrição da exceção.