Manejo de excepciones en Selenium Controlador web (tipos)

¿Qué son las excepciones?

An 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 el programa falle.

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 la función que llama.

Tipos de excepciones en Selenium controlador web

1. Excepción ElementNotVisible: Este tipo de Selenium La excepción ocurre cuando un elemento existente en DOM tiene una característica configurada como oculta.

2. Excepción ElementNotSelectable: Este Selenium La excepción ocurre cuando un elemento se presenta en el DOM, pero puedes seleccionar. Por tanto, no es posible interactuar.

3. Ninguna excepción de elemento tal: Esta excepción ocurre si no se pudo encontrar un elemento.

4. No existe tal excepción de marco: Esta excepción se produce si el destino del marco al que se va a cambiar no existe.

5. NoAlertPresentException: Esta excepción ocurre cuando cambia a ninguna alerta presentada.

6. Ninguna excepción de ventana tal: Esta excepción ocurre si la ventana de destino que se va a cambiar no existe.

7. Excepción de referencia de elemento estancado: Este Selenium La excepción ocurre cuando el elemento web se separa del DOM actual.

8. Excepción de sesión no encontrada: El WebDriver actúa después de salir del navegador.

9. Excepción de tiempo de espera: Se lanza cuando no hay tiempo suficiente para completar un comando. Por ejemplo, el elemento buscado no se encontró en el tiempo especificado.

10. Excepción de controlador web: Esta excepción se produce cuando WebDriver actúa inmediatamente después de cerrar el navegador.

11. ConexiónCerradaExcepción: Este tipo de Excepción se produce cuando hay una desconexión en el controlador.

12. Excepción ElementClickIntercepted: Es posible que el comando no se complete ya que el elemento que recibe los eventos oculta el elemento en el que se solicitó hacer clic.

13. Excepción ElementNotInteractable: Este Selenium Se lanza una excepción cuando se presenta cualquier elemento en el DOM. Sin embargo, es imposible interactuar con tal elemento.

14. Error en respuestaExcepción: Esto sucede al interactuar con el Firefox extensión o el servidor del controlador remoto.

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

16. ImeActivationFailedException: Esta expectativa ocurrirá cuando la activación del motor IME falle.

17. Excepción ImeNotAvailable: Tiene lugar cuando el soporte IME no está disponible.

18. Excepción de certificado inseguro: La navegación hizo que el agente de usuario apareciera en una advertencia de certificado. Esto puede deberse a un certificado TLS no válido o caducado.

19. Excepción de argumento no válido: Ocurre cuando un argumento no pertenece al tipo esperado.

20. Excepción de dominio de cookie no válida: Esto sucede cuando intentas agregar una cookie en un dominio diferente en lugar de la URL actual.

21. Excepción de coordenadas no válidas: Este tipo de excepción coincide con una operación de interacción que no es válida.

22. Excepción de estado de elemento no válido: Ocurre cuando el comando no se puede finalizar cuando el elemento no es válido.

23. Excepción de ID de sesión no válida: Esta excepción se produjo cuando el ID de sesión proporcionado no está incluido en la lista de sesiones activas. Significa que la sesión no existe o tampoco está inactiva.

24. Cambiar a no válidoTargetexcepción: Esto ocurre cuando el marco o ventana objetivo que se va a cambiar no existe.

25. Javascriptexcepción: Este problema ocurre al ejecutar JavaScript proporcionado por el usuario.

26. Excepción Json: Ocurre cuando usted se permite obtener la sesión cuando ésta no está creada.

27. NoSuchAttributeException: Este tipo de excepción ocurre cuando no se puede encontrar el atributo de un elemento.

28 MovimientoTargetExcepción fuera de límites: Tiene lugar si el objetivo proporcionado a la metodología move() de ActionChains no es válido. Por ejemplo, fuera del documento.

29. NoSuchContextException: ContextAware realiza pruebas de dispositivos móviles.

30. No existe tal excepción de cookie: 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.

31. Excepción no encontrada: Esta excepción es una subclase de WebDriverException. Esto ocurrirá cuando un elemento en el DOM no exista.

32. Excepción del servidor de controlador remoto: Este Selenium Se lanza una excepción cuando el servidor no responde debido al problema de que las capacidades descritas no son adecuadas.

33. Excepción de captura de pantalla: No es posible capturar una pantalla.

34. Excepción de sesión no creada: Ocurre cuando no se pudo crear correctamente una nueva sesión.

35. Incapaz de establecer una excepción de cookie: Esto ocurre si un controlador no puede configurar una cookie.

36. Excepción de nombre de etiqueta inesperada: Sucede si una clase de soporte no obtuvo un elemento web como se esperaba.

37. Excepción de alerta no controlada: Esta expectativa ocurre cuando hay una alerta, pero WebDriver no puede realizar la operación de alerta.

38. Excepción de presentación de alerta inesperada: Ocurre cuando aparece una alerta inesperada.

39. Excepción de método desconocido: 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.

40. Excepción de navegador inalcanzable: Esta excepción ocurre solo cuando el navegador no se puede abrir o falla por algún motivo.

41. Excepción de comando no admitida: Esto ocurre cuando WebDriver remoto no envía comandos válidos como se esperaba.

Cómo manejar excepciones en Selenium

A continuación, se muestran algunos estándares importantes mediante los cuales puede manejar excepciones en Selenium controlador web:

Paso 1) Intentar capturar

Este método puede detectar excepciones, que utiliza una combinación de palabras clave try y catch. El comando try indica el inicio del bloque y lucha se coloca al final del bloque de prueba, lo que ayuda a resolver la excepción.

try
{
// Code
} catch (Exception e) {
// Code for Handling exception
}

Paso 2) 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. Múltiples capturas le ayudan a manejar cada tipo de excepción por separado con un bloque de código independiente. Se puede utilizar para más de dos bloques catch y no hay limitación en el número de bloques catch.

try
{
//Code
} catch (ExceptionType1 e1) {
//Code for Handling Exception 1
} catch (ExceptionType2 e2) {
//Code for Handling Exception 2
}

Paso 3) Lanzar

Cuando se desea generar una excepción, se utiliza la palabra clave Throw para generar una excepción y manejarla en tiempo de ejecución. Cuando se genera una excepción sin manejarla, se debe utilizar la palabra clave Throw.

public static void anyFunction() throws Exception{

try {
// write your code here
} Catch (Exception b) {
// Do whatever you want to perform 
// Throw the Exception back to the system
throw(b);
}
}

Paso 4) Múltiples excepciones

Puede mencionar varias excepciones en la cláusula de lanzamiento.

public static void anyFunction() throws ExceptionType1, ExceptionType2{

try {
// write your code here
} catch (ExceptionType1 e1) {
// Code to handle exception 1
} catch (ExceptionType1 e2) {
// Code to handle exception 2
}

Paso 5) Finalmente

La palabra clave Final se utiliza para crear un bloque de código debajo del bloque try. Es el código final que le ayuda a ejecutarse independientemente de que ocurra una excepción.

try {
//Code
} catch (ExceptionType1 e1) {
//Catch block
} catch (ExceptionType2 e2) {
//Catch block
} catch (ExceptionType3 e3) {
//Catch block
} finally {
//The finally block always executes.
}

Métodos para mostrar excepción

También puede utilizar los siguientes métodos para mostrar 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.
  • Encadenar(): 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.
  • Múltiples capturas le ayudan a manejar cada tipo de excepción por separado con un bloque de código independiente.
  • La palabra clave Throw se utiliza para lanzar una excepción y 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.