Andmebaasi testimine kasutades Selenium ja JDBC: kuidas ühendust luua?

⚡ Nutikas kokkuvõte

Andmebaasi testimine, kasutades Selenium tugineb JDBC-le, kuna WebDriver ise valideerib ainult brauseri kihti. Need sammud näitavad, kuidas avada MySQL ühendus, käivita SQL, loe ResultSet ja kontrolli salvestatud andmeid.

  • 🔌 JDBC sild: Selenium WebDriver juhib ainult brauserit, seega JDBC varustab iga andmeväite andmebaasikihiga.
  • 🧩 Juhi klass: Kaasaegne MySQL Connector/J registreerib com.mysql.cj.jdbc.Driver automaatselt, seega on selgesõnaline Class.forName kutse valikuline.
  • 🔗 Ühendusstring: A MySQL URL järgneb jdbc:mysql://host:3306/database ja 3306 on serveri vaikeport.
  • 📥 Tulemuste käsitlemine: Statement.executeQuery tagastab ResultSet'i, mida itereeritakse next() funktsiooniga ja loetakse läbi getString funktsiooni.
  • 🛡️ Ressursside ohutus: try-with-resources sulgeb ühenduse, lause ja tulemuskomplekti isegi siis, kui väide ebaõnnestub poole peal.
  • 🚀 Päringu hügieen: PreparedStatement parameetrid eemaldavad süstimisriski ja võimaldavad serveril vahemällu salvestatud täitmisplaani uuesti kasutada.

Andmebaasi testimine kasutades Selenium

Andmebaasi ühendus sisse Selenium

Selenium Veebidraiver on piiratud Testimine oma rakendused brauseri abil. Kasutamiseks Selenium Veebidraiver andmebaasi kinnitamiseks, mida peate kasutama JDBC-d (“Java Andmebaasi ühenduvus”).

JDBC (Java Andmebaasi ühenduvus) on a SQL taseme API, mis võimaldab täita SQL-lauseid. Ta vastutab ühenduvuse eest Java Programmeerimiskeel ja lai valik andmebaase. JDBC API pakub järgmisi klasse ja liideseid

  • Juhihaldur
  • juht
  • Ühendus
  • väljavõte
  • Tulemuskomplekt
  • SQLErand

Kuidas ühendada andmebaasi Selenium

Andmebaasi testimiseks kasutades Selenium, peate järgima järgmisi 3 sammu

Ühendage andmebaas Selenium

Samm 1) Looge ühendus andmebaasiga

Andmebaasiga ühenduse loomiseks on süntaks

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

Siin

  • Kasutajatunnus on andmebaasis konfigureeritud kasutajanimi
  • Konfigureeritud kasutaja parool
  • URL on vormingus jdbc:< andmebaasi tüüp>://ipaddress:pordinumber/andmebaasi_nimi”.
  • - Selle andmebaasi draiver, millega proovite ühendust luua. Oracle'i andmebaasiga ühenduse loomiseks on see väärtus „oracle“. MYSQL-i andmebaasiga nimega „emp“ ühenduse loomiseks URL saab olema jdbc:mysql://localhost:3036/emp

Ja ühenduse loomise kood näeb välja selline

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

Samuti peate koodi abil laadima JDBC draiveri

Class.forName("com.mysql.jdbc.Driver");
⚠️ Hoiatus: com.mysql.jdbc.Driver aegus Connector/J 8.0-s. Kasutage com.mysql.cj.jdbc.Driver. Alates JDBC 4.0-st registreerib draiver end ise, seega on Class.forName valikuline. MySQL kuulab 3306, mitte 3036 peal.

Samm 2) Saatke päringud andmebaasi

Kui ühendus on loodud, peate täitma päringud.

Päringute saatmiseks saate kasutada väljavõtteobjekti.

Statement stmt = con.createStatement();

Kui lauseobjekt on loodud, kasutage SQL-päringute täitmiseks meetodit executeQuery

stmt.executeQuery(select *  from employee;);
⚠️ Hoiatus: executeQuery võtab stringi, seega tsiteerige SQL-i: executeQuery(“select * from employee”). Kasutaja sisendiks kasutage PreparedStatement'i.

3. samm) Töödelge tulemusi

Täidetud päringu tulemused salvestatakse ResultSet Object.

Java pakub tulemuste töötlemiseks palju eelmeetodeid. Allpool on loetletud mõned meetodid

Töötle tulemusi

Andmebaasi testimise näide Selenium

Step 1) paigaldama MySQL server ja MySQL Workbench

Vaadake Mysql & MySQL Workbenchi täielikku juhendit siin

Paigaldamisel MySQL Server, pange tähele andmebaasi

  • kasutajanimi
  • Parool
  • Pordi number

Seda nõutakse edasistes sammudes.

MySQL Workbench muudab andmebaasi haldamise lihtsaks ilma SQL-i kodeerimata. Siiski võite kasutada ka MySQL Terminal andmebaasiga suhtlemiseks.

Step 2) In MySQL WorkBench, ühendage oma MySQL server

Andmebaasi testimine Selenium

Järgmisel ekraanil

  1. Valige kohalik eksemplar MySQL
  2. Sisestage pordi number
  3. Sisestage kasutajanimi
  4. Sisestage parool
  5. OK

Andmebaasi testimine Selenium

Step 3) Andmebaasi loomiseks,

  1. Klõpsake nuppu Loo skeem
  2. Sisestage skeemi/andmebaasi nimi
  3. Klõpsake nuppu Rakenda

Andmebaasi testimine Selenium

Step 4) Navigaatori menüüs

  1. Klõpsake emp-i andmebaasi all valikul Tabelid
  2. Sisestage tabeli nimi töötajana
  3. Sisestage väljad nime ja vanusena
  4. Klõpsake nuppu Rakenda

Andmebaasi testimine Selenium

Näete järgmist hüpikakent. Klõpsake nuppu Rakenda

Andmebaasi testimine Selenium

Step 5) Loome järgmised andmed

Eesnimi vanus
top 25
Nick 36
Bill 47

Andmete loomiseks tabelisse

  1. Valige navigaatoris töötajate tabel
  2. Parempoolsel paanil klõpsake nuppu Vormiredaktor
  3. Sisestage nimi ja vanus
  4. Klõpsake nuppu Rakenda

Andmebaasi testimine Selenium

Korrake protsessi, kuni kõik andmed on loodud

Andmebaasi testimine Selenium

Step 6) Lae alla MySQL JDBC pistik siin

Andmebaasi testimine Selenium

Step 7) Lisage allalaaditud Jar oma projekti

  1. Paremklõpsake oma Java Fail. Seejärel klõpsake valikul Ehitustee à Konfigureeri ehitustee
  2. Valige raamatukogud
  3. Klõpsake käsul Lisa välised JAR-id
  4. Näete MySQL konnektori java teie teegis
  5. Selle projekti lisamiseks klõpsake nuppu Ava

Andmebaasi testimine Selenium

Step 8) Kopeerige järgmine kood redaktorisse

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();			
		}
}
⚠️ Hoiatus: Kirje säilitati avaldatud kujul. Kaasaegsed vasted: com.mysql.cj.jdbc.Driver, port 3306, väiketähtedega pakett ja puhastamiseks try-with-resources.

Step 9) Käivitage kood ja kontrollige väljundit

Andmebaasi testimine Selenium

Samad sammud kehtivad iga relatsioonilise mootori kohta.

JDBC draiverid ja ühendusstringid populaarsetele andmebaasidele

MySQL on ainult üks võimalus. JDBC muster jääb mootorites samaks: import, lausekutse ja ResultSet-tsükkel ei muutu. Ainult draiveri artefakt ja URL erinevad, seega kasutage allolevat tabelit, kui testitav rakendus töötab teises andmebaasis.

andmebaas Juhi klass Näidisühendus URL Vaikimisi port
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.Oraclejuht jdbc:oracle:thin:@localhost:1521:orcl 1521
SQL Server com.microsoft.sqlserver.jdbc.SQLServerDriver jdbc:sqlserver://localhost:1433;andmebaasiNimi=emp 1433

Pordinumbrid põhjustavad enamiku esmakordsetest tõrketest. Ühenduse keeldumise viga tähendab peaaegu alati porti URL ei vasta pordile, mida server tegelikult kuulab. Enne vaikesätte valimist kontrollige oma serveri konfiguratsiooni.

Iga draiver tarnitakse ühe JAR-failina, mille lisate ehitusteele täpselt nii, nagu 7. sammus näidatud. Iga ülaltoodud mootor registreerib end automaatselt, seega pole Class.forName rida vaja. See tähendab, et üks abimeetod saab teenindada kõiki teie komplekti sihtkeskkondi.

KKK

Ei. Alates JDBC 4.0-st (Java 6), DriverManager tuvastab draiverid ServiceLoaderi mehhanismi kaudu, seega piisab Connectori/J JAR-i lisamisest klassiteele. Jätkake kutse ainult siis, kui pärandkonteiner ei suuda draiverit automaatselt registreerida.

Käitusaja klassiteest puudub ühendus-/J JAR-fail või URL on vigane. Veenduge, et JAR-fail kuvatakse viidatud teekide all ja et see URL algab jdbc:mysql://-ga ja nimetab kättesaadava hosti ja pordi.

Jah. Assistendid, näiteks GitHubi koopia tellingute ühenduste abimehed, ResultSet-tsüklid ja skeemi kirjeldusest pärinevad väited. RevEnne kinnitamist kontrollige iga genereeritud päringut õigete tabelinimede ja süstimise ohutuse osas.

Tehisintellekti mudelid genereerivad realistlikke algridu, pakuvad välja piirväärtusi ja märgistavad väiteid, mis pärast skeemi migreerimist triivivad. Platvormid nagu Testim rakendage seda hoolduse puhul, kuigi inimese läbivaatamine on viitamise terviklikkuse tagamiseks endiselt vajalik.

Alati. Sulgemata ühendus (Connection) või tulemuskomplekt (ResultSet) ammendab serveri ühenduste kogu pika komplekti ulatuses. Mähi need try-with-resources blokki või sulge need @AfterMethod blokiga, et puhastus töötaks ka siis, kui väide ebaõnnestub.

Võta see postitus kokku järgmiselt: