¿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.