Datenbanktests mit Selenium und JDBC: Wie stellt man die Verbindung her?

⚡ Intelligente Zusammenfassung

Datenbanktests mit Selenium basiert auf JDBC, da WebDriver selbst nur die Browserebene validiert. Diese Schritte zeigen, wie man eine MySQL Verbindung herstellen, SQL ausführen, ein ResultSet lesen und gespeicherte Daten überprüfen.

  • ???? JDBC-Brücke: Selenium WebDriver steuert nur den Browser, daher stellt JDBC die Datenbankschicht für jede Datenzusicherung bereit.
  • 🧩 Fahrerklasse: Modernes MySQL Connector/J registriert com.mysql.cj.jdbc.Driver automatisch, daher ist ein expliziter Aufruf von Class.forName optional.
  • 🔗 Verbindungszeichenfolge: A MySQL URL folgt jdbc:mysql://host:3306/database, wobei 3306 der Standard-Serverport ist.
  • 📥 Ergebnisverarbeitung: Statement.executeQuery gibt ein ResultSet zurück, das Sie mit next() durchlaufen und anschließend mit getString auslesen.
  • 🛡️ Ressourcensicherheit: try-with-resources schließt Connection, Statement und ResultSet auch dann, wenn eine Assertion mittendrin fehlschlägt.
  • 🚀 Abfragehygiene: PreparedStatement-Parameter beseitigen das Risiko von Code-Injection und ermöglichen es dem Server, einen zwischengespeicherten Ausführungsplan wiederzuverwenden.

Datenbanktests mit Selenium

Datenbankverbindung in Selenium

Selenium Webdriver ist beschränkt auf Tests Ihre Anwendungen über den Browser. Benutzen Selenium Webdriver für die Datenbanküberprüfung müssen Sie den JDBC verwenden („Java „Datenbankkonnektivität“).

JDBC (Java Database Connectivity) ist eine SQL Level-API, mit der Sie SQL-Anweisungen ausführen können. Es ist für die Konnektivität zwischen den verantwortlich Java Programmiersprache und eine breite Palette von Datenbanken. Die JDBC-API bietet die folgenden Klassen und Schnittstellen

  • Treibermanager
  • LED Treiber
  • Verbindungen schaffen
  • Erklärung
  • Ergebnismenge
  • SQLException

So verbinden Sie die Datenbank in Selenium

Um Ihre Datenbank zu testen Seleniummüssen Sie die folgenden 3 Schritte beachten

Datenbank verbinden in Selenium

Schritt 1) ​​Stellen Sie eine Verbindung zur Datenbank her

Um eine Verbindung zur Datenbank herzustellen, lautet die Syntax

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

Dabei steht:

  • Benutzer-ID ist der in der Datenbank konfigurierte Benutzername
  • Passwort des konfigurierten Benutzers
  • URL ist vom Format jdbc:< dbtype>://ipaddress:portnumber/db_name”
  • - Der Treiber für die Datenbank, mit der Sie eine Verbindung herstellen möchten. Um eine Verbindung zu einer Oracle-Datenbank herzustellen, lautet dieser Wert „oracle“. Um eine Verbindung zu einer Datenbank mit dem Namen „emp“ in MySQL herzustellen, verwenden Sie diesen Wert. URL wird jdbc:mysql://localhost:3036/emp sein

Und der Code zum Herstellen einer Verbindung sieht so aus

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

Sie müssen auch den JDBC-Treiber mithilfe des Codes laden

Class.forName("com.mysql.jdbc.Driver");
⚠️ Warnung: Die Klasse `com.mysql.jdbc.Driver` ist in Connector/J 8.0 veraltet. Verwenden Sie stattdessen `com.mysql.cj.jdbc.Driver`. Seit JDBC 4.0 registriert sich der Treiber selbst, daher ist `Class.forName` optional. MySQL Hört auf 3306, nicht auf 3036.

Schritt 2) Senden Sie Abfragen an die Datenbank

Sobald die Verbindung hergestellt ist, müssen Sie Abfragen ausführen.

Sie können das Statement-Objekt zum Senden von Abfragen verwenden.

Statement stmt = con.createStatement();

Sobald das Anweisungsobjekt erstellt wurde, verwenden Sie die MethodeexecuteQuery, um die SQL-Abfragen auszuführen

stmt.executeQuery(select *  from employee;);
⚠️ Warnung: executeQuery erwartet einen String, daher muss die SQL-Anweisung in Anführungszeichen gesetzt werden: executeQuery(“select * from employee”). Verwenden Sie PreparedStatement für Benutzereingaben.

Schritt 3) Verarbeiten Sie die Ergebnisse

Ergebnisse der ausgeführten Abfrage werden im ResultSet-Objekt gespeichert.

Java bietet eine Vielzahl von erweiterten Methoden zur Verarbeitung der Ergebnisse. Einige der Methoden sind unten aufgeführt

Verarbeiten Sie die Ergebnisse

Beispiel für Datenbanktests mit Selenium

Schritt 1) Installieren MySQL Server und MySQL Werkbank

Lesen Sie den vollständigen Leitfaden zu Mysql & Mysql Workbench werden auf dieser Seite erläutert

Während der Installation MySQL Server, bitte beachten Sie die Datenbank

  • Benutzername
  • Passwort
  • Port-Nummer

Sie wird in weiteren Schritten benötigt.

MySQL Workbench erleichtert die Verwaltung der Datenbank, ohne dass SQL codiert werden muss. Sie können jedoch auch die verwenden MySQL Terminal zur Interaktion mit der Datenbank.

Schritt 2) In MySQL WorkBench, verbinden Sie sich mit Ihrem MySQL Server

Datenbanktests mit Selenium

Im nächsten Bildschirm

  1. Wählen Sie Lokale Instanz von aus MySQL
  2. Geben Sie die Portnummer ein
  3. Benutzername eingeben
  4. Passwort eingeben
  5. klicken Sie auf OK

Datenbanktests mit Selenium

Schritt 3) So erstellen Sie eine Datenbank:

  1. Klicken Sie auf die Schaltfläche „Schema erstellen“.
  2. Geben Sie den Namen des Schemas/der Datenbank ein
  3. Klicken Sie auf Anwenden

Datenbanktests mit Selenium

Schritt 4) Im Navigatormenü

  1. Klicken Sie unter der emp-Datenbank auf Tabellen
  2. Geben Sie den Tischnamen als Mitarbeiter ein
  3. Geben Sie die Felder Name und Alter ein
  4. Klicken Sie auf Anwenden

Datenbanktests mit Selenium

Sie sehen das folgende Popup. Klicken Sie auf Übernehmen

Datenbanktests mit Selenium

Schritt 5) Wir erstellen folgende Daten

Name Alter
Oben 25
Nick 36
Bill 47

Zum Erstellen von Daten in der Tabelle

  1. Wählen Sie im Navigator die Mitarbeitertabelle aus
  2. Klicken Sie im rechten Bereich auf Formulareditor
  3. Geben Sie Name und Alter ein
  4. Klicken Sie auf Anwenden

Datenbanktests mit Selenium

Wiederholen Sie den Vorgang, bis alle Daten erstellt sind

Datenbanktests mit Selenium

Schritt 6) Laden Sie MySQL JDBC-Anschluss werden auf dieser Seite erläutert

Datenbanktests mit Selenium

Schritt 7) Fügen Sie das heruntergeladene Jar zu Ihrem Projekt hinzu

  1. Klicken Sie mit der rechten Maustaste auf Ihre Java Datei. Klicken Sie anschließend auf Buildpfad → Buildpfad konfigurieren
  2. Wählen Sie die Bibliotheken aus
  3. Klicken Sie auf Externe JARs hinzufügen
  4. Du kannst sehen MySQL Connector Java in Ihrer Bibliothek
  5. Klicken Sie auf „Öffnen“, um es dem Projekt hinzuzufügen

Datenbanktests mit Selenium

Schritt 8) Kopieren Sie den folgenden Code in den 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();			
		}
}
⚠️ Warnung: Die Auflistung wurde wie veröffentlicht beibehalten. Moderne Entsprechungen: com.mysql.cj.jdbc.Driver, Port 3306, Paket in Kleinbuchstaben und try-with-resources zur Bereinigung.

Schritt 9) Führen Sie den Code aus und überprüfen Sie die Ausgabe

Datenbanktests mit Selenium

Die gleichen Schritte gelten für jede relationale Datenbank.

JDBC-Treiber und Verbindungszeichenfolgen für gängige Datenbanken

MySQL ist nur eine Option. Das JDBC-Muster bleibt über alle Engines hinweg identisch: Die Importe, der Statement-Aufruf und die ResultSet-Schleife ändern sich nicht. Nur das Treiberartefakt und die URL Da die Unterschiede groß sind, verwenden Sie bitte die unten stehende Tabelle, wenn die zu testende Anwendung auf einer anderen Datenbank ausgeführt wird.

Datenbank Fahrerklasse Beispielverbindung URL Standardport
MySQL com.mysql.cj.jdbc.Treiber jdbc:mysql://localhost:3306/emp 3306
PostgreSQL org.postgresql.Treiber jdbc:postgresql://localhost:5432/emp 5432
Oracle oracle.jdbc.OracleLED Treiber jdbc:oracle:thin:@localhost:1521:orcl 1521
SQL Server com.microsoft.sqlserver.jdbc.SQLServerDriver jdbc:sqlserver://localhost:1433;databaseName=emp 1433

Die meisten Verbindungsfehler beim ersten Mal sind auf Portnummern zurückzuführen. Eine Fehlermeldung „Verbindung abgelehnt“ bedeutet fast immer, dass der Port im URL Der angegebene Port stimmt nicht mit dem Port überein, auf dem der Server tatsächlich lauscht. Überprüfen Sie Ihre Serverkonfiguration, bevor Sie den Standardwert verwenden.

Jeder Treiber wird als einzelne JAR-Datei ausgeliefert, die Sie dem Build-Pfad genau wie in Schritt 7 beschrieben hinzufügen. Jede der oben aufgeführten Engines registriert sich automatisch, daher ist keine Zeile mit `Class.forName` erforderlich. Das bedeutet, dass eine einzige Hilfsmethode für alle Zielumgebungen Ihrer Suite ausreicht.

Häufig gestellte Fragen

Nein. Seit JDBC 4.0 (Java 6) DriverManager erkennt Treiber über den ServiceLoader-Mechanismus, daher genügt es, die Connector/J-JAR-Datei zum Klassenpfad hinzuzufügen. Der Aufruf sollte nur dann erfolgen, wenn ein älterer Container den Treiber nicht automatisch registrieren kann.

Die Connector/J-JAR-Datei fehlt im Laufzeit-Classpath, oder URL ist fehlerhaft. Überprüfen Sie, ob die JAR-Datei unter „Referenzierte Bibliotheken“ angezeigt wird und ob die URL beginnt mit jdbc:mysql:// und nennt einen erreichbaren Host und Port.

Ja. Assistenten wie zum Beispiel GitHub-Copilot Hilfsfunktionen für Gerüstverbindungen, ResultSet-Schleifen und Zusicherungen aus einer Schemabeschreibung. RevÜberprüfen Sie jede generierte Abfrage vor dem Commit auf korrekte Tabellennamen und Sicherheit vor Injection.

KI-Modelle generieren realistische Startzeilen, schlagen Grenzwerte vor und kennzeichnen Aussagen, die sich nach einer Schema-Migration ändern. Plattformen wie … Testim Dies gilt auch für die Instandhaltung, wobei eine menschliche Überprüfung für die referenzielle Integrität weiterhin notwendig ist.

Immer. Eine nicht geschlossene Connection oder ein nicht geschlossenes ResultSet erschöpft den Server-Verbindungspool bei einer langen Testsuite. Schließen Sie sie in try-with-resources ein oder verwenden Sie einen @AfterMethod-Block, damit die Bereinigung auch bei einem Fehler in einer Assertion ausgeführt wird.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: