Database testen met behulp van Selenium En JDBC: hoe maak je verbinding?
⚡ Slimme samenvatting
Database testen met behulp van Selenium is afhankelijk van JDBC, omdat WebDriver zelf alleen de browserlaag valideert. Deze stappen laten zien hoe je een browser opent. MySQL Verbinding maken, SQL uitvoeren, een ResultSet lezen en opgeslagen gegevens controleren.

Databaseverbinding in Selenium
Selenium Webdriver is beperkt tot Testen uw toepassingen met behulp van de browser. Gebruiken Selenium Webdriver voor databaseverificatie moet u de JDBC (“Java Databaseconnectiviteit”).
JDBC (Java Databaseconnectiviteit) is een SQL API op niveau waarmee u SQL-instructies kunt uitvoeren. Het is verantwoordelijk voor de connectiviteit tussen de Java Programmeertaal en een breed scala aan databases. De JDBC API biedt de volgende klassen en interfaces
- Driver Manager
- bestuurder
- Aansluiting
- Statement
- Resultaatset
- SQLUitzondering
Database aansluiten Selenium
Om uw database te testen met behulp van Selenium, moet u de volgende 3 stappen in acht nemen
Stap 1) Maak verbinding met de database
Om verbinding te maken met de database is de syntaxis:
DriverManager.getConnection(URL, "userid", "password" )
Hier
- UserID is de gebruikersnaam die in de database is geconfigureerd
- Wachtwoord van de geconfigureerde gebruiker
- URL heeft de volgende indeling: jdbc:< dbtype>://ipaddress:portnumber/db_name”
- - De driver voor de database waarmee u verbinding probeert te maken. Om verbinding te maken met een Oracle-database is deze waarde 'oracle'. Om verbinding te maken met een database met de naam 'emp' in MySQL. URL zal jdbc:mysql://localhost:3036/emp zijn
En de code om verbinding te maken ziet er zo uit
Connection con = DriverManager.getConnection(dbUrl,username,password);
U moet ook het JDBC-stuurprogramma laden met behulp van de code
Class.forName("com.mysql.jdbc.Driver");
Stap 2) Stuur zoekopdrachten naar de database
Zodra de verbinding tot stand is gebracht, moet u query's uitvoeren.
U kunt het Statement-object gebruiken om query's te verzenden.
Statement stmt = con.createStatement();
Zodra het instructieobject is gemaakt, gebruikt u de executeQuery-methode om de SQL-query's uit te voeren
stmt.executeQuery(select * from employee;);
Stap 3) Verwerk de resultaten
Resultaten van de uitgevoerde query worden opgeslagen in het ResultSet-object.
Java biedt tal van geavanceerde methoden om de resultaten te verwerken. Enkele van de methoden worden hieronder vermeld
Voorbeeld van databasetesten met Selenium
Stap 1) Install MySQL Server en MySQL Werkbank
Bekijk de complete gids voor Mysql & Mysql Workbench hier
Tijdens het installeren MySQL Server, let op de database
- Gebruikersnaam
- Wachtwoord
- Poortnummer
Dit zal bij verdere stappen nodig zijn.
MySQL Workbench maakt het eenvoudig om de database te beheren zonder dat u SQL hoeft te coderen. Je kunt echter ook de MySQL Terminal voor interactie met de database.
Stap 2) In MySQL WorkBench, maak verbinding met uw MySQL Server
In het volgende scherm,
- Selecteer Lokaal exemplaar van MySQL
- Voer poortnummer in
- Voer gebruikersnaam in
- Voer wachtwoord in
- klik op OK
Stap 3) Om een database te maken,
- Klik op Schemaknop maken
- Voer de naam van het schema/de database in
- Klik op Toepassen
Stap 4) In het navigatiemenu,
- Klik op Tabellen, onder de emp-database
- Voer de tafelnaam in als werknemer
- Voer velden in als Naam en Leeftijd
- Klik op Toepassen
U ziet de volgende pop-up. Klik op Toepassen
Stap 5) We zullen de volgende gegevens creëren
| Naam | Leeftijd |
|---|---|
| Top | 25 |
| Nick | 36 |
| Bill | 47 |
Om gegevens in de tabel te creëren
- Selecteer in de navigator de medewerkerstabel
- Klik in het rechterdeelvenster op Formuliereditor
- Voer naam en leeftijd in
- Klik op Toepassen
Herhaal het proces totdat alle gegevens zijn aangemaakt
Stap 6) Download de MySQL JDBC-connector hier
Stap 7) Voeg de gedownloade Jar toe aan uw project
- Klik met de rechtermuisknop op uw Java Bestand. Klik vervolgens op Build Path → Configure build path
- Selecteer de bibliotheken
- Klik op externe JAR's toevoegen
- U kunt zien MySQL connector Java in uw bibliotheek
- Klik op openen om het aan het project toe te voegen
Stap 8) Kopieer de volgende code in de 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(); } }
Stap 9) Voer de code uit en controleer de uitvoer
Dezelfde stappen gelden voor elke relationele database-engine.
JDBC-stuurprogramma's en verbindingsreeksen voor populaire databases
MySQL is slechts één optie. Het JDBC-patroon blijft identiek voor alle engines: de imports, de Statement-aanroep en de ResultSet-lus veranderen niet. Alleen het driver-artefact en de URL Omdat de databases verschillen, kunt u de onderstaande tabel gebruiken wanneer de te testen applicatie op een andere database draait.
| Database | Bestuurdersklasse | Voorbeeldverbinding URL | Standaardpoort |
|---|---|---|---|
| MySQL | com.mysql.cj.jdbc.Driver | jdbc:mysql://localhost:3306/emp | 3306 |
| PostgreSQL | org.postgresql.Driver | jdbc:postgresql://localhost:5432/emp | 5432 |
| Oracle | oracle.jdbc.Oraclebestuurder | jdbc:oracle:thin:@localhost:1521:orcl | 1521 |
| SQL Server | com.microsoft.sqlserver.jdbc.SQLServerDriver | jdbc:sqlserver://localhost:1433;databaseName=emp | 1433 |
Poortnummers zijn meestal de oorzaak van de eerste problemen. Een foutmelding 'verbinding geweigerd' betekent bijna altijd dat de poort in de verbinding niet correct is. URL Dit komt niet overeen met de poort waarop de server daadwerkelijk luistert. Controleer uw serverconfiguratie voordat u de standaardwaarde aanneemt.
Elke driver wordt geleverd als een afzonderlijk JAR-bestand dat u aan het buildpad toevoegt, precies zoals weergegeven in stap 7. Elke hierboven vermelde engine registreert zichzelf automatisch, dus er is geen Class.forName-regel nodig. Dat betekent dat één enkele hulpmethode alle omgevingen kan bedienen waarop uw suite is gericht.












