Manejo de excepciones de selenio (lista de excepciones comunes)

Tabla de contenido:

Anonim

¿Qué es una excepción?

Una excepción es un error que ocurre en el momento de la ejecución de un programa. Sin embargo, mientras se ejecuta un programa, los lenguajes de programación generan una excepción que debe manejarse para evitar que su programa se bloquee.

La excepción indica que, aunque el evento puede ocurrir, este tipo de evento ocurre con poca frecuencia. Cuando el método no puede manejar la excepción, se lanza a su función de llamada. Eventualmente, cuando se arroja una excepción de la función principal, el programa se termina abruptamente.

En este tutorial, aprenderá:

  • ¿Qué es una excepción?
  • Excepciones en el controlador web de Selenium
  • Manejo de excepciones de selenio
  • Métodos para mostrar la excepción

Excepciones comunes en el controlador web de Selenium

Nombre de la excepción Descripción
ElementNotVisibleException Este tipo de excepción de Selenium ocurre cuando un elemento existente en DOM tiene una característica establecida como oculta.
ElementNotSelectableException Esta excepción de Selenium ocurre cuando se presenta un elemento en el DOM, pero puede seleccionarlo. Por tanto, no es posible interactuar.
NoSuchElementException Esta excepción ocurre si no se pudo encontrar un elemento.
NoSuchFrameException Esta excepción se produce si el objetivo de la trama al que se cambiará no existe.
NoAlertPresentException Esta excepción ocurre cuando cambia a ninguna alerta presentada.
NoSuchWindowException Esta excepción se produce si el destino de la ventana que se cambiará no existe.
StaleElementReferenceException Esta excepción de Selenium ocurre cuando el elemento web se desconecta del DOM actual.
SessionNotFoundException El WebDriver actúa después de salir del navegador.
TimeoutException Se lanza cuando no hay tiempo suficiente para completar un comando. Por ejemplo, el elemento buscado no se encontró en el tiempo especificado.
WebDriverException Esta excepción tiene lugar cuando WebDriver está actuando justo después de cerrar el navegador.
ConnectionClosedException Este tipo de Excepción ocurre cuando hay una desconexión en el controlador.
ElementClickInterceptedException Es posible que el comando no se complete ya que el elemento que recibe los eventos oculta el elemento en el que se solicitó el clic.
ElementNotInteractableException Esta excepción de Selenium se lanza cuando se presenta cualquier elemento en el DOM. Sin embargo, es imposible interactuar con tal elemento.
ErrorInResponseException Esto sucede mientras interactúa con la extensión de Firefox o el servidor del controlador remoto.
ErrorHandler.UnknownServerException La excepción se utiliza como marcador de posición en caso de que el servidor devuelva un error sin un seguimiento de la pila.
ImeActivationFailedException Esta expectativa ocurrirá cuando la activación del motor IME haya fallado.
ImeNotAvailableException Tiene lugar cuando el soporte IME no está disponible.
InsecureCertificateException La navegación hizo que el agente de usuario activara una advertencia de certificado. Esto puede deberse a un certificado TLS no válido o caducado.
InvalidArgumentException Ocurre cuando un argumento no pertenece al tipo esperado.
InvalidCookieDomainException Esto sucede cuando intenta agregar una cookie en un dominio diferente en lugar de la URL actual.
InvalidCoordinatesException Este tipo de excepción coincide con una operación de interacción que no es válida.
InvalidElementStateExceptio Ocurre cuando el comando no se puede terminar cuando el elemento no es válido.
InvalidSessionIdException Esta excepción tuvo lugar cuando el ID de sesión dado no está incluido en la lista de sesiones activas. Significa que la sesión no existe o tampoco está inactiva.
InvalidSwitchToTargetException Esto ocurre cuando el marco o el objetivo de la ventana que se va a cambiar no existe.
JavascriptException Este problema ocurre al ejecutar JavaScript proporcionado por el usuario.
JsonException Ocurre cuando te permites obtener la sesión cuando no se crea la sesión.
NoSuchAttributeException Este tipo de excepción ocurre cuando no se pudo encontrar el atributo de un elemento.
MoveTargetOutOfBoundsException Tiene lugar si el objetivo proporcionado a la metodología move () de ActionChains no es válido. Por ejemplo, fuera del documento.
NoSuchContextException ContextAware realiza pruebas de dispositivos móviles.
NoSuchCookieException Esta excepción ocurre cuando no se encuentra ninguna cookie que coincida con el nombre de ruta dado para todas las cookies asociadas del documento de navegación actual.
NotFoundException Esta excepción es una subclase de WebDriverException. Esto ocurrirá cuando no exista un elemento en el DOM.
RemoteDriverServerException Esta excepción de Selenium se lanza cuando el servidor no responde debido al problema de que las capacidades descritas no son adecuadas.
ScreenshotException No es posible capturar una pantalla.
SessionNotCreatedException Ocurre cuando una nueva sesión no se pudo crear correctamente.
UnableToSetCookieException Esto ocurre si un controlador no puede configurar una cookie.
UnexpectedTagNameException Ocurre si una clase de soporte no obtuvo un elemento web como se esperaba.
UnhandledAlertException Esta expectativa ocurre cuando hay una alerta, pero WebDriver no puede realizar la operación de alerta.
UnexpectedAlertPresentException Ocurre cuando aparece una alerta inesperada.
UnknownMethodException Esta excepción ocurre cuando el comando solicitado coincide con una URL conocida pero no coincide con una metodología para una URL específica.
UnreachableBrowserException Esta excepción ocurre solo cuando el navegador no se puede abrir o se bloquea por algún motivo.
UnsupportedCommandException Esto ocurre cuando el WebDriver remoto no envía comandos válidos como se esperaba.

Manejo de excepciones de selenio

A continuación, se muestran algunos estándares importantes con los que puede manejar Excepciones en Selenium WebDriver:

Try-catch : este método puede detectar Excepciones, que utiliza una combinación de las palabras clave try y catch. El comando Try indica el inicio del bloque y Catch se coloca al final del bloque try, lo que ayuda a resolver la excepción.

tratar{// Código} captura (Excepción e) {// Código para manejar la excepción}
  • Múltiples bloques de captura : hay varios tipos de excepciones y puede esperar más de una excepción de un solo bloque de código. Varias capturas lo ayudan a manejar cada tipo de excepción por separado con un bloque de código separado. Se puede utilizar para más de dos bloques de captura y no hay limitación en el número de bloques de captura.
tratar{//Código} captura (ExceptionType1 e1) {// Código para manejar la excepción 1} captura (ExceptionType2 e2) {// Código para manejar la excepción 2}
  • Throw : cuando desea generar una excepción, la palabra clave Throw se usa para lanzar una excepción para manejarla en el tiempo de ejecución. Cuando está lanzando una excepción sin manejarla, entonces necesitan usar la palabra clave Throw.
public static void anyFunction () lanza Exception {tratar {// escribe tu código aquí} Captura (excepción b) {// Haz lo que quieras realizar// Devolver la excepción al sistemalanzar (b);}}
  • Varias excepciones : puede mencionar varias excepciones en la cláusula throws.
public static void anyFunction () lanza ExceptionType1, ExceptionType2 {tratar {// escribe tu código aquí} captura (ExceptionType1 e1) {// Código para manejar la excepción 1} captura (ExceptionType1 e2) {// Código para manejar la excepción 2}
  • Finalmente : la palabra clave Final se usa para crear un bloque de código debajo del bloque try. Es el código final que le ayuda a ejecutarse independientemente de la ocurrencia de una excepción.
tratar {//Código} captura (ExceptionType1 e1) {// Bloque de captura} captura (ExceptionType2 e2) {// Bloque de captura} captura (ExceptionType3 e3) {// Bloque de captura} finalmente {// El bloque finalmente siempre se ejecuta.}

Métodos para mostrar la excepción

También puede utilizar los siguientes métodos para mostrar la información de excepción:

  • printStackTrace () : esta función imprime el seguimiento de la pila, el nombre de la excepción y otra descripción útil.
  • toString () : esta función devuelve un mensaje de texto que describe el nombre y la descripción de la excepción.
  • getMessage () : ayuda a mostrar la descripción de la excepción.

Resumen:

  • Una excepción es un error que ocurre en el momento de la ejecución de un programa.
  • Try-catch: este método puede detectar Excepciones, que utiliza una combinación de las palabras clave try y catch.
  • Varias capturas lo ayudan a manejar cada tipo de excepción por separado con un bloque de código separado.
  • La palabra clave Throw se usa para lanzar Exception para manejarla en el tiempo de ejecución.
  • printStackTrace (): esta función imprime el seguimiento de la pila, el nombre de la excepción y otra descripción útil
  • toString (): esta función devuelve un mensaje de texto que describe el nombre y la descripción de la excepción.
  • getMessage (): ayuda a mostrar la descripción de la excepción.