Databasetestning ved hjælp af Selenium og JDBC: Hvordan opretter man forbindelse?
⚡ Smart opsummering
Databasetestning ved hjælp af Selenium er afhængig af JDBC, fordi WebDriver selv kun validerer browserlaget. Disse trin viser, hvordan man åbner en MySQL forbindelse, køre SQL, læse et ResultSet og verificere gemte data.

Databaseforbindelse i Selenium
Selenium Webdriver er begrænset til Test dine applikationer ved hjælp af browser. At bruge Selenium Webdriver til databasebekræftelse skal du bruge JDBC ("Java Databaseforbindelse").
JDBC (Java Database Connectivity) er en SQL niveau API, der giver dig mulighed for at udføre SQL-sætninger. Det er ansvarligt for forbindelsen mellem Java Programmeringssprog og en bred vifte af databaser. JDBC API'en giver følgende klasser og grænseflader
- Driver Manager
- Chauffør
- Forbindelse
- Statement
- Resultat Indstil
- SQLException
Sådan forbinder du databasen Selenium
For at teste din database vha Selenium, skal du overholde de følgende 3 trin
Trin 1) Opret forbindelse til databasen
For at oprette forbindelse til databasen er syntaksen
DriverManager.getConnection(URL, "userid", "password" )
Her,
- Bruger-id er det brugernavn, der er konfigureret i databasen
- Adgangskode for den konfigurerede bruger
- URL er af formatet jdbc:< dbtype>://ipaddress:portnummer/db_navn”
- - Driveren til den database, du forsøger at oprette forbindelse til. For at oprette forbindelse til Oracle-databasen vil denne værdi være "oracle". For at oprette forbindelse til databasen med navnet "emp" i MYSQL URL vil være jdbc:mysql://localhost:3036/emp
Og koden til at skabe forbindelse ser ud
Connection con = DriverManager.getConnection(dbUrl,username,password);
Du skal også indlæse JDBC-driveren ved hjælp af koden
Class.forName("com.mysql.jdbc.Driver");
Trin 2) Send forespørgsler til databasen
Når forbindelsen er oprettet, skal du udføre forespørgsler.
Du kan bruge Statement Object til at sende forespørgsler.
Statement stmt = con.createStatement();
Når sætningsobjektet er oprettet, skal du bruge executeQuery-metoden til at udføre SQL-forespørgslerne
stmt.executeQuery(select * from employee;);
Trin 3) Bearbejd resultaterne
Resultater fra den udførte forespørgsel gemmes i ResultSet Object.
Java giver masser af avancerede metoder til at behandle resultaterne. Få af metoderne er anført nedenfor
Eksempel på databasetest med Selenium
Trin 1) Installer MySQL Server og MySQL Workbench
Tjek den komplette guide til Mysql & Mysql Workbench link.
Under installationen MySQL Server, bemærk venligst databasen
- Brugernavn
- Adgangskode
- Portnummer
Det vil være påkrævet i yderligere trin.
MySQL Workbench gør det nemt at administrere databasen uden behov for at kode SQL. Du kan dog også bruge MySQL Terminal til at interagere med databasen.
Trin 2) In MySQL WorkBench, opret forbindelse til din MySQL Server
På næste skærmbillede
- Vælg Lokal forekomst af MySQL
- Indtast portnummer
- Indtast brugernavn
- Indtast adgangskode
- klik på OK
Trin 3) For at oprette en database,
- Klik på knappen Opret skema
- Indtast navn på skema/database
- Klik på Anvend
Trin 4) I navigatormenuen,
- Klik på Tabeller under emp-databasen
- Indtast tabelnavn som medarbejder
- Indtast felter som navn og alder
- Klik på Anvend
Du vil se følgende pop-up. Klik på Anvend
Trin 5) Vi vil oprette følgende data
| Navn | Alder |
|---|---|
| Top | 25 |
| Nick | 36 |
| Bill | 47 |
For at oprette data i tabellen
- I navigator skal du vælge medarbejdertabellen
- Klik på Form Editor i højre rude
- Indtast navn og alder
- Klik på Anvend
Gentag processen, indtil alle data er oprettet
Trin 6) Download MySQL JDBC stik link.
Trin 7) Tilføj den downloadede Jar til dit projekt
- Højreklik på din Java Fil. Klik derefter på Byggesti à Konfigurer byggesti
- Vælg bibliotekerne
- Klik på tilføj eksterne JAR'er
- Du kan se MySQL connector java i dit bibliotek
- Klik på åben for at tilføje den til projektet
Trin 8) Kopier følgende kode ind i editoren
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(); } }
Trin 9) Udfør koden, og kontroller outputtet
De samme trin gælder for enhver relationel motor.
JDBC-drivere og forbindelsesstrenge til populære databaser
MySQL er kun én mulighed. JDBC-mønsteret forbliver identisk på tværs af motorer: importerne, Statement-kaldet og ResultSet-løkken ændres ikke. Kun driverartefakten og URL afvige, så brug tabellen nedenfor, når den applikation, der testes, kører på en anden database.
| Database | Førerklasse | Eksempelforbindelse URL | Standardport |
|---|---|---|---|
| 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.OracleChauffør | jdbc:oracle:thin:@localhost:1521:orcl | 1521 |
| SQL Server | com.microsoft.sqlserver.jdbc.SQLServerDriver | jdbc:sqlserver://localhost:1433;databaseName=emp | 1433 |
Portnumre forårsager de fleste førstegangsfejl. En fejl om afvist forbindelse betyder næsten altid porten i URL stemmer ikke overens med den port, som serveren rent faktisk lytter på. Tjek din serverkonfiguration, før du antager standardindstillingen.
Hver driver leveres som en enkelt JAR-fil, som du tilføjer til byggestien præcis som vist i trin 7. Hver motor, der er angivet ovenfor, registrerer sig selv automatisk, så der kræves ingen Class.forName-linje. Det betyder, at en enkelt hjælpemetode kan betjene ethvert miljø, som din suite er målrettet mod.












