Pruebas de bases de datos mediante Selenium y JDBC: ¿Cómo conectarse?

⚡ Resumen inteligente

Pruebas de bases de datos utilizando Selenium Se basa en JDBC, porque WebDriver en sí mismo solo valida la capa del navegador. Estos pasos muestran cómo abrir un MySQL establecer la conexión, ejecutar SQL, leer un ResultSet y verificar los datos almacenados.

  • ???? Puente JDBC: Selenium WebDriver controla únicamente el navegador, por lo que JDBC proporciona la capa de base de datos para cada aserción de datos.
  • 🧩 Clase de conductor: MODERNA MySQL Connector/J registra automáticamente com.mysql.cj.jdbc.Driver, por lo que una llamada explícita a Class.forName es opcional.
  • 🔗 Cadena de conexión: A MySQL URL sigue jdbc:mysql://host:3306/database, y 3306 es el puerto del servidor predeterminado.
  • 📥 Manejo de resultados: Statement.executeQuery devuelve un ResultSet, que se itera con next() y se lee a través de getString.
  • 🛡️ Seguridad de los recursos: try-with-resources cierra Connection, Statement y ResultSet incluso cuando una aserción falla a mitad de camino.
  • 🚀 Higiene de consultas: Los parámetros PreparedStatement eliminan el riesgo de inyección y permiten que el servidor reutilice un plan de ejecución almacenado en caché.

Pruebas de bases de datos usando Selenium

Conexión de base de datos en Selenium

Selenium Webdriver está limitado a Pruebas sus aplicaciones mediante el navegador. Usar Selenium Webdriver para la verificación de bases de datos necesita utilizar JDBC (“Java Conectividad de base de datos”).

JDBC (Java Conectividad de base de datos) es un SQL API de nivel que le permite ejecutar sentencias SQL. Es responsable de la conectividad entre los Java Lenguaje de programación y una amplia gama de bases de datos. La API de JDBC proporciona las siguientes clases e interfaces

  • Administrador de conductor
  • Destornillador
  • Conexión
  • Comunicado
  • Conjunto resultante
  • Excepción SQL

Cómo conectar la base de datos en Selenium

Para probar su base de datos usando Selenium, debes observar los siguientes 3 pasos

Conectar base de datos en Selenium

Paso 1) Haga una conexión a la base de datos

Para establecer una conexión a la base de datos, la sintaxis es

DriverManager.getConnection(URL, "userid", "password" )

Aquí,

  • Userid es el nombre de usuario configurado en la base de datos.
  • Contraseña del usuario configurado
  • URL tiene el formato jdbc:< dbtype>://ipaddress:portnumber/db_name”
  • - El controlador de la base de datos a la que intenta conectarse. Para conectarse a una base de datos Oracle, este valor será "oracle". Para conectarse a una base de datos con el nombre "emp" en MySQL URL será jdbc:mysql://localhost:3036/emp

Y el código para crear la conexión se ve así

Connection con = DriverManager.getConnection(dbUrl,username,password);

También necesita cargar el controlador JDBC usando el código

Class.forName("com.mysql.jdbc.Driver");
⚠️ Advertencia: El controlador com.mysql.jdbc.Driver quedó obsoleto en Connector/J 8.0. Utilice com.mysql.cj.jdbc.Driver. Desde JDBC 4.0, el controlador se registra automáticamente, por lo que Class.forName es opcional. MySQL Escucha en el canal 3306, no en el 3036.

Paso 2) Enviar consultas a la base de datos

Una vez realizada la conexión, debe ejecutar consultas.

Puede utilizar el objeto Declaración para enviar consultas.

Statement stmt = con.createStatement();

Una vez creado el objeto de declaración, utilice el método ejecutarQuery para ejecutar las consultas SQL.

stmt.executeQuery(select *  from employee;);
⚠️ Advertencia: executeQuery acepta una cadena de texto, así que entrecomille la consulta SQL: executeQuery(“select * from employee”). Utilice PreparedStatement para la entrada del usuario.

Paso 3) Procesar los resultados

Los resultados de la consulta ejecutada se almacenan en el objeto ResultSet.

Java proporciona muchos métodos avanzados para procesar los resultados. Algunos de los métodos se enumeran a continuación.

Procesar los resultados

Ejemplo de prueba de base de datos con Selenium

Paso 1) Instale MySQL Server y MySQL Banco de trabajo

Consulte la guía completa de Mysql y Mysql Workbench aquí

Durante la instalación MySQL Servidor, tenga en cuenta la base de datos.

  • Nombre de usuario
  • Contraseña
  • Número de puerto

Será necesario en pasos posteriores.

MySQL Workbench facilita la administración de la base de datos sin la necesidad de codificar SQL. Aunque también puedes utilizar el MySQL Terminal para interactuar con la base de datos.

Paso 2) In MySQL WorkBench, conéctese a su MySQL Server

Pruebas de bases de datos con Selenium

En la siguiente pantalla,

  1. Seleccione la instancia local de MySQL
  2. Introduzca el número de puerto
  3. Introduzca su nombre de usuario
  4. Introducir la contraseña
  5. haga clic en Aceptar

Pruebas de bases de datos con Selenium

Paso 3) Para crear una base de datos,

  1. Haga clic en el botón Crear esquema
  2. Ingrese el nombre del esquema/base de datos
  3. Haga clic en Aplicar

Pruebas de bases de datos con Selenium

Paso 4) En el menú del navegador,

  1. Haga clic en Tablas, debajo de la base de datos emp.
  2. Ingrese el nombre de la tabla como empleado
  3. Ingrese campos como nombre y edad
  4. Haga clic en Aplicar

Pruebas de bases de datos con Selenium

Verá la siguiente ventana emergente. Haga clic en Aplicar.

Pruebas de bases de datos con Selenium

Paso 5) Crearemos los siguientes datos

Nombre Edad
arriba 25
Nick 36
Bill 47

Para crear datos en la tabla

  1. En el navegador, seleccione la tabla de empleados.
  2. En el panel derecho, haga clic en Editor de formularios
  3. Ingrese nombre y edad
  4. Haga clic en Aplicar

Pruebas de bases de datos con Selenium

Repita el proceso hasta que se creen todos los datos.

Pruebas de bases de datos con Selenium

Paso 6) Descargue nuestra MySQL Conector JDBC aquí

Pruebas de bases de datos con Selenium

Paso 7) Agregue el Jar descargado a su proyecto

  1. Haga clic derecho en su Java Archivo. A continuación, haga clic en Ruta de compilación → Configurar ruta de compilación.
  2. Seleccione las bibliotecas
  3. Haga clic en agregar JAR externos
  4. Usted puede ver MySQL conector java en tu biblioteca
  5. Haga clic en abrir para agregarlo al proyecto.

Pruebas de bases de datos con Selenium

Paso 8) Copia el siguiente código en el editor

Package  htmldriver;		
import  java.sql.Connection;		
import  java.sql.Statement;		
import  java.sql.ResultSet;		
import  java.sql.DriverManager;		
import  java.sql.SQLException;		
public class  SQLConnector {				
    	public static void  main(String[] args) throws  ClassNotFoundException, SQLException {													
				//Connection URL Syntax: "jdbc:mysql://ipaddress:portnumber/db_name"		
                String dbUrl = "jdbc:mysql://localhost:3036/emp";					

				//Database Username		
				String username = "root";	
                
				//Database Password		
				String password = "guru99";				

				//Query to Execute		
				String query = "select *  from employee;";	
                
         	    //Load mysql jdbc driver		
           	    Class.forName("com.mysql.jdbc.Driver");			
           
           		//Create Connection to DB		
            	Connection con = DriverManager.getConnection(dbUrl,username,password);
          
          		//Create Statement Object		
        	   Statement stmt = con.createStatement();					
       
       			// Execute the SQL Query. Store results in ResultSet		
         		ResultSet rs= stmt.executeQuery(query);							
         
         		// While Loop to iterate through all data and print results		
				while (rs.next()){
			        		String myName = rs.getString(1);								        
                            String myAge = rs.getString(2);					                               
                            System. out.println(myName+"  "+myAge);		
                    }		
      			 // closing DB Connection		
      			con.close();			
		}
}
⚠️ Advertencia: Listado conservado tal como se publicó. Equivalentes modernos: com.mysql.cj.jdbc.Driver, puerto 3306, paquete en minúsculas y try-with-resources para limpieza.

Paso 9) Ejecute el código y verifique el resultado.

Pruebas de bases de datos con Selenium

Los mismos pasos se aplican a cualquier motor relacional.

Controladores JDBC y cadenas de conexión para bases de datos populares

MySQL es solo una opción. El patrón JDBC permanece idéntico en todos los motores: las importaciones, la llamada Statement y el bucle ResultSet no cambian. Solo el artefacto del controlador y el URL son diferentes, así que utilice la tabla siguiente cuando la aplicación que se está probando se ejecute en otra base de datos.

Database Clase de conductor Conexión de ejemplo URL Puerto predeterminado
MySQL com.mysql.cj.jdbc.Driver jdbc:mysql://localhost:3306/emp 3306
PostgreSQL org.postgresql.Controlador jdbc:postgresql://localhost:5432/emp 5432
Oracle oracle.jdbc.OracleDestornillador jdbc:oracle:thin:@localhost:1521:orcl 1521
SQL Server com.microsoft.sqlserver.jdbc.SQLServerDriver jdbc:sqlserver://localhost:1433;databaseName=emp 1433

Los números de puerto causan la mayoría de los fallos iniciales. Un error de conexión rechazada casi siempre significa que el puerto en el URL No coincide con el puerto en el que el servidor realmente escucha. Verifique la configuración de su servidor antes de asumir que la configuración predeterminada es correcta.

Cada controlador se distribuye como un único archivo JAR que se añade a la ruta de compilación tal como se muestra en el paso 7. Todos los motores mencionados se registran automáticamente, por lo que no se requiere la línea Class.forName. Esto significa que un único método auxiliar puede servir para todos los entornos a los que se dirige su conjunto de controladores.

Preguntas Frecuentes

No. Desde JDBC 4.0 (Java 6) DriverManager descubre los controladores a través del mecanismo ServiceLoader, por lo que basta con añadir el JAR de Connector/J al classpath. Mantenga la llamada solo cuando un contenedor heredado no registre el controlador automáticamente.

El JAR Connector/J no se encuentra en la ruta de clases de tiempo de ejecución, o bien URL está mal formado. Confirme que el JAR aparece en Bibliotecas referenciadas y compruebe que el URL comienza con jdbc:mysql:// y especifica un host y un puerto accesibles.

Sí. Asistentes como Copiloto de GitHub Ayudantes de conexión de andamiaje, bucles de ResultSet y aserciones a partir de una descripción de esquema. RevRevise cada consulta generada para verificar que los nombres de las tablas y la seguridad de la inyección sean correctos antes de confirmarla.

Los modelos de IA generan filas de semillas realistas, sugieren valores límite y señalan las aserciones que se desvían después de una migración de esquema. Plataformas como Testim Esto se aplica al mantenimiento, aunque la revisión humana sigue siendo necesaria para la integridad referencial.

Siempre. Una conexión o un conjunto de resultados sin cerrar agota el grupo de conexiones del servidor durante una larga serie de pruebas. Envuélvalos en un bloque try-with-resources o ciérrelos en un bloque @AfterMethod para que la limpieza se ejecute incluso cuando falle una aserción.

Resumir este post con: