Tests de base de données à l'aide de Selenium et JDBC : Comment se connecter ?

⚡ Résumé intelligent

Tests de base de données utilisant Selenium repose sur JDBC, car WebDriver ne valide que la couche navigateur. Ces étapes montrent comment ouvrir un MySQL se connecter, exécuter SQL, lire un ResultSet et vérifier les données stockées.

  • ???? Pont JDBC : Selenium WebDriver ne gère que le navigateur, JDBC fournissant donc la couche de base de données pour chaque assertion de données.
  • 🧩 Classe de conducteur : Moderne MySQL Connector/J enregistre automatiquement com.mysql.cj.jdbc.Driver, un appel explicite à Class.forName est donc facultatif.
  • 🔗 Chaîne de connexion : A MySQL URL suit jdbc:mysql://host:3306/database, et 3306 est le port serveur par défaut.
  • (I.e. Gestion des résultats : Statement.executeQuery renvoie un ResultSet, que vous itérez avec next() et lisez via getString.
  • 🛡️ Sécurité des ressources : try-with-resources ferme Connection, Statement et ResultSet même lorsqu'une assertion échoue en cours d'exécution.
  • 🚀 Hygiène des requêtes : Les paramètres PreparedStatement éliminent le risque d'injection et permettent au serveur de réutiliser un plan d'exécution mis en cache.

Test de base de données à l'aide Selenium

Connexion à la base de données dans Selenium

Selenium Webdriver est limité à Tests vos applications à l'aide du navigateur. Utiliser Selenium Webdriver pour la vérification de la base de données, vous devez utiliser JDBC («Java Connectivité de la base de données »).

JDBC (Java Connectivité de base de données) est un SQL API de niveau qui vous permet d'exécuter des instructions SQL. Il est responsable de la connectivité entre le Java Langage de programmation et large gamme de bases de données. L'API JDBC fournit les classes et interfaces suivantes

  • Driver Manager
  • Chauffeur
  • La connexion
  • Déclaration
  • Ensemble de résultats
  • SQLException

Comment connecter la base de données dans Selenium

Afin de tester votre base de données en utilisant Selenium, vous devez respecter les 3 étapes suivantes

Connecter la base de données dans Selenium

Étape 1) Établissez une connexion à la base de données

Afin d'établir une connexion à la base de données, la syntaxe est

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

Ici,

  • Userid est le nom d'utilisateur configuré dans la base de données
  • Mot de passe de l'utilisateur configuré
  • URL est au format jdbc:< dbtype>://adresse_ip:numéro_de_port/nom_de_la_base_de_données
  • - Le pilote de la base de données à laquelle vous essayez de vous connecter. Pour vous connecter à une base de données Oracle, cette valeur sera « oracle ». Pour vous connecter à une base de données MySQL nommée « emp », utilisez la valeur « oracle ». URL sera jdbc:mysql://localhost:3036/emp

Et le code pour créer la connexion ressemble à

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

Vous devez également charger le pilote JDBC en utilisant le code

Class.forName("com.mysql.jdbc.Driver");
⚠️ Mise en garde: Le pilote com.mysql.jdbc.Driver est obsolète depuis Connector/J 8.0. Utilisez com.mysql.cj.jdbc.Driver. Depuis JDBC 4.0, le pilote s'enregistre automatiquement ; l'argument Class.forName est donc facultatif. MySQL Écoute sur 3306, et non sur 3036.

Étape 2) Envoyer des requêtes à la base de données

Une fois la connexion établie, vous devez exécuter des requêtes.

Vous pouvez utiliser l'objet Statement pour envoyer des requêtes.

Statement stmt = con.createStatement();

Une fois l'objet d'instruction créé, utilisez la méthodeexecuteQuery pour exécuter les requêtes SQL.

stmt.executeQuery(select *  from employee;);
⚠️ Mise en garde: La fonction executeQuery prend une chaîne de caractères ; il faut donc mettre la requête SQL entre guillemets : executeQuery("select * from employee"). Utilisez PreparedStatement pour les entrées utilisateur.

Étape 3) Traiter les résultats

Les résultats de la requête exécutée sont stockés dans l'objet ResultSet.

Java fournit de nombreuses méthodes avancées pour traiter les résultats. Peu de méthodes sont répertoriées ci-dessous

Traiter les résultats

Exemple de test de base de données avec Selenium

Étape 1) Installer MySQL Server et MySQL Workbench

Consultez le guide complet de Mysql et Mysql Workbench ici

Lors de l'installation MySQL Serveur, veuillez noter la base de données

  • Nom d'utilisateur ( Ou : Nom d'épouse )
  • Mot de passe
  • Numéro de port

Cela sera nécessaire dans les étapes suivantes.

MySQL Workbench facilite l'administration de la base de données sans avoir besoin de coder SQL. Cependant, vous pouvez également utiliser le MySQL Terminal pour interagir avec la base de données.

Étape 2) In MySQL WorkBench, connectez-vous à votre MySQL Server

Test de base de données avec Selenium

Dans l'écran suivant,

  1. Sélectionnez une instance locale de MySQL
  2. Entrez le numéro de port
  3. Entr.NomUtilis
  4. Entrer le mot de passe
  5. cliquez sur OK

Test de base de données avec Selenium

Étape 3) Pour créer une base de données,

  1. Cliquez sur le bouton Créer un schéma
  2. Entrez le nom du schéma/de la base de données
  3. Cliquez sur Appliquer

Test de base de données avec Selenium

Étape 4) Dans le menu du navigateur,

  1. Cliquez sur Tables, sous la base de données emp
  2. Entrez le nom de la table en tant qu'employé
  3. Entrez les champs comme nom et âge
  4. Cliquez sur Appliquer

Test de base de données avec Selenium

Vous verrez la fenêtre contextuelle suivante. Cliquez sur Appliquer

Test de base de données avec Selenium

Étape 5) Nous allons créer les données suivantes

Nom Âge
Top 25
Nick 36
Bill 47

Pour créer des données dans la table

  1. Dans le navigateur, sélectionnez la table des employés
  2. Dans le volet droit, cliquez sur Éditeur de formulaire
  3. Entrez le nom et l'âge
  4. Cliquez sur Appliquer

Test de base de données avec Selenium

Répétez le processus jusqu'à ce que toutes les données soient créées

Test de base de données avec Selenium

Étape 6) Téléchargez le MySQL Connecteur JDBC ici

Test de base de données avec Selenium

Étape 7) Ajoutez le Jar téléchargé à votre projet

  1. Faites un clic droit sur votre Java Fichier. Cliquez ensuite sur Chemin de compilation → Configurer le chemin de compilation
  2. Sélectionnez les bibliothèques
  3. Cliquez sur ajouter des JAR externes
  4. Vous pouvez voir MySQL connecteur java dans votre bibliothèque
  5. Cliquez sur ouvrir pour l'ajouter au projet

Test de base de données avec Selenium

Étape 8) Copiez le code suivant dans l'éditeur

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();			
		}
}
⚠️ Mise en garde: Liste conservée telle que publiée. Équivalents modernes : com.mysql.cj.jdbc.Driver, port 3306, paquetage en minuscules, et try-with-resources pour le nettoyage.

Étape 9) Exécutez le code et vérifiez le résultat

Test de base de données avec Selenium

Les mêmes étapes s'appliquent à tout moteur relationnel.

Pilotes JDBC et chaînes de connexion pour les bases de données populaires

MySQL n'est qu'une option parmi d'autres. Le modèle JDBC reste identique pour tous les moteurs : les importations, l'appel Statement et la boucle ResultSet ne changent pas. Seuls l'artefact du pilote et le URL Les bases de données diffèrent, utilisez donc le tableau ci-dessous lorsque l'application testée s'exécute sur une autre base de données.

Base de données Classe de conducteur Exemple de connexion URL Port par défaut
MySQL com.mysql.cj.jdbc.Driver jdbc:mysql://localhost:3306/emp 3306
PostgreSQL Pilote org.postgresql jdbc:postgresql://localhost:5432/emp 5432
Oracle oracle.jdbc.OracleChauffeur jdbc:oracle:thin:@localhost:1521:orcl 1521
SQL Server com.microsoft.sqlserver.jdbc.SQLServerDriver jdbc:sqlserver://localhost:1433;databaseName=emp 1433

Les problèmes de connexion initiale sont souvent dus à un problème de port. Une erreur de refus de connexion signifie presque toujours que le port est incorrect. URL Le port indiqué ne correspond pas à celui utilisé par le serveur. Veuillez vérifier la configuration de votre serveur avant de considérer la valeur par défaut.

Chaque pilote est fourni sous forme d'un seul fichier JAR à ajouter au chemin de compilation, comme indiqué à l'étape 7. Chaque moteur mentionné ci-dessus s'enregistre automatiquement ; aucune ligne `Class.forName` n'est donc nécessaire. Ainsi, une seule méthode d'assistance suffit pour tous les environnements cibles de votre suite.

FAQ

Non. Depuis JDBC 4.0 (Java 6) DriverManager détecte les pilotes via le mécanisme ServiceLoader ; il suffit donc d’ajouter le fichier JAR Connector/J au classpath. Conservez cet appel uniquement lorsqu’un conteneur hérité ne parvient pas à enregistrer automatiquement le pilote.

Le fichier JAR Connector/J est absent du classpath d'exécution, ou URL est malformé. Vérifiez que le fichier JAR apparaît bien dans les bibliothèques référencées et assurez-vous que le URL commence par jdbc:mysql:// et indique un hôte et un port accessibles.

Oui. Des assistants tels que Copilote GitHub Générer des fonctions d'aide à la connexion, des boucles ResultSet et des assertions à partir d'une description de schéma. RevVérifiez chaque requête générée pour vous assurer de l'exactitude des noms de tables et de la sécurité contre les injections avant de la valider.

Les modèles d'IA génèrent des lignes initiales réalistes, suggèrent des valeurs limites et signalent les assertions qui dérivent après une migration de schéma. Des plateformes telles que Testim Appliquer cela à la maintenance, même si une vérification humaine reste nécessaire pour l'intégrité référentielle.

Toujours. Une connexion ou un ResultSet non fermé épuise le pool de connexions du serveur lors d'une longue suite d'appels. Encapsulez-les dans un bloc try-with-resources ou fermez-les dans un bloc @AfterMethod afin que le nettoyage s'exécute même en cas d'échec d'une assertion.

Résumez cet article avec :