Adatbázis tesztelése a következővel: Selenium és JDBC: Hogyan csatlakozzunk?

⚡ Okos összefoglaló

Adatbázis tesztelés Selenium a JDBC-re támaszkodik, mivel maga a WebDriver csak a böngésző réteget validálja. Ezek a lépések bemutatják, hogyan lehet megnyitni egy MySQL kapcsolat, SQL futtatása, ResultSet beolvasása és a tárolt adatok ellenőrzése.

  • 🔌 JDBC híd: Selenium A WebDriver csak a böngészőt vezérli, így a JDBC biztosítja az adatbázis réteget minden adat-állításhoz.
  • 🧩 Vezetői kategória: Modern MySQL A Connector/J automatikusan regisztrálja a com.mysql.cj.jdbc.Driver fájlt, így egy explicit Class.forName hívás opcionális.
  • 🔗 Kapcsolati karakterlánc: A MySQL URL a jdbc:mysql://host:3306/database címet követi, és a 3306 az alapértelmezett kiszolgálóport.
  • 📥 Eredménykezelés: A Statement.executeQuery egy ResultSet-et ad vissza, amelyet a next() függvénnyel iterálhatsz, és a getString függvénnyel olvashatsz be.
  • 🛡️ Erőforrás-biztonság: A try-with-resources függvény lezárja a Connection, Statement és ResultSet metódusokat, még akkor is, ha egy állítás félbeszakad.
  • 🚀 Lekérdezés higiénia: A PreparedStatement paraméterek kiküszöbölik az injektálás kockázatát, és lehetővé teszik a szerver számára, hogy újra felhasználja a gyorsítótárazott végrehajtási tervet.

Adatbázis tesztelés segítségével Selenium

Adatbázis kapcsolat be Selenium

Selenium A webdriver erre korlátozódik Tesztelés alkalmazásait a böngésző használatával. Használni Selenium Webdriver az adatbázis-ellenőrzéshez, a JDBC-t kell használnia (“Java Adatbázis-kapcsolat”).

JDBC (Java Adatbázis-kapcsolat) az a SQL szintű API, amely lehetővé teszi SQL utasítások végrehajtását. Felelős a közötti kapcsolatért Java Programozási nyelv és adatbázisok széles választéka. A JDBC API a következő osztályokat és felületeket biztosítja

  • DriverManager
  • Vezető
  • csatlakozás
  • nyilatkozat
  • ResultSet
  • SQLException

Hogyan csatlakoztassuk az adatbázist Selenium

Az adatbázis teszteléséhez a Selenium, be kell tartania a következő 3 lépést

Csatlakoztassa az adatbázist Selenium

1. lépés) Hozzon létre kapcsolatot az adatbázissal

Az adatbázishoz való kapcsolódáshoz a szintaxis az

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

Itt,

  • A felhasználói azonosító az adatbázisban konfigurált felhasználónév
  • A beállított felhasználó jelszava
  • URL formátuma jdbc:< adatbázistípus>://ipcím:portszám/adatbázis_neve”
  • - Az adatbázis illesztőprogramja, amelyhez csatlakozni próbál. Oracle adatbázishoz való csatlakozáshoz ez az érték „oracle” lesz. MYSQL-ben az „emp” nevű adatbázishoz való csatlakozáshoz URL jdbc:mysql://localhost:3036/emp lesz

És a kapcsolat létrehozásához szükséges kód így néz ki

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

A kód használatával be kell töltenie a JDBC illesztőprogramot is

Class.forName("com.mysql.jdbc.Driver");
⚠️ Figyelmeztetés: A com.mysql.jdbc.Driver elavult a Connector/J 8.0 verzióban. Használd a com.mysql.cj.jdbc.Driver fájlt. A JDBC 4.0 óta az illesztőprogram önmagát regisztrálja, így a Class.forName opcionális. MySQL a 3306-on hallgat, nem a 3036-on.

2. lépés) Küldjön lekérdezéseket az adatbázisba

A kapcsolat létrejötte után lekérdezéseket kell végrehajtania.

Lekérdezések küldésére használhatja a nyilatkozatobjektumot.

Statement stmt = con.createStatement();

Az utasításobjektum létrehozása után használja az executeQuery metódust az SQL-lekérdezések végrehajtásához

stmt.executeQuery(select *  from employee;);
⚠️ Figyelmeztetés: Az executeQuery egy karakterláncot fogad el, ezért idézze az SQL-t: executeQuery(“select * from employee”). Felhasználói bevitelhez használja a PreparedStatement-et.

3. lépés) Az eredmények feldolgozása

A végrehajtott lekérdezés eredményeit a ResultSet objektum tárolja.

Java rengeteg előrehaladott módszert biztosít az eredmények feldolgozásához. Az alábbiakban felsorolunk néhány módszert

Az eredmények feldolgozása

Példa adatbázistesztelésre a következővel Selenium

Step 1) Telepítés MySQL szerverünkhöz! és a MySQL Workbench

Tekintse meg a Mysql és Mysql Workbench teljes útmutatóját itt

Telepítés közben MySQL Szerver, kérjük, vegye figyelembe az adatbázist

  • Felhasználónév
  • Jelszó
  • port száma

Erre a további lépésekben lesz szükség.

MySQL A Workbench megkönnyíti az adatbázis adminisztrálását SQL kódolása nélkül. Használhatja azonban a MySQL Terminál az adatbázissal való interakcióhoz.

Step 2) In MySQL WorkBench, csatlakozzon a sajátjához MySQL szerverünkhöz!

Adatbázis tesztelése Selenium

A következő képernyőn

  1. Válassza a Helyi példány lehetőséget MySQL
  2. Írja be a port számát
  3. Adja meg felhasználónevét
  4. Írd be a jelszót
  5. kattintson az OK gombra

Adatbázis tesztelése Selenium

Step 3) Adatbázis létrehozásához,

  1. Kattintson a Séma létrehozása gombra
  2. Írja be a séma/adatbázis nevét
  3. Kattintson az Alkalmaz gombra

Adatbázis tesztelése Selenium

Step 4) A navigátor menüjében

  1. Kattintson a Táblázatok elemre az emp adatbázis alatt
  2. Adja meg a táblázat nevét alkalmazottként
  3. Adja meg a mezőket névként és életkorként
  4. Kattintson az Alkalmaz gombra

Adatbázis tesztelése Selenium

A következő felugró ablakot fogja látni. Kattintson az Alkalmaz gombra

Adatbázis tesztelése Selenium

Step 5) A következő adatokat hozzuk létre

Név Kor
Csúcs 25
Nick 36
Bill 47

Adatok létrehozása a táblázatba

  1. A navigátorban válassza ki az alkalmazottak táblázatát
  2. A jobb oldali ablaktáblában kattintson az Űrlapszerkesztő elemre
  3. Adja meg a nevet és az életkort
  4. Kattintson az Alkalmaz gombra

Adatbázis tesztelése Selenium

Ismételje meg a folyamatot, amíg az összes adat létre nem jön

Adatbázis tesztelése Selenium

Step 6) Töltse le a MySQL JDBC csatlakozó itt

Adatbázis tesztelése Selenium

Step 7) Adja hozzá a letöltött Jar-t a projekthez

  1. Kattintson jobb gombbal a sajátjára Java Fájl. Ezután kattintson a Build Path à Configure build path menüpontra.
  2. Válassza ki a könyvtárakat
  3. Kattintson a külső JAR-ok hozzáadása lehetőségre
  4. Láthatjuk MySQL java csatlakozó a könyvtárában
  5. Kattintson a Megnyitás gombra, hogy hozzáadja a projekthez

Adatbázis tesztelése Selenium

Step 8) Másolja be a következő kódot a szerkesztőbe

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();			
		}
}
⚠️ Figyelmeztetés: A lista a közzétett formában megmarad. Modern megfelelői: com.mysql.cj.jdbc.Driver, 3306-os port, kisbetűs csomag, és try-with-resources a tisztításhoz.

Step 9) Futtassa le a kódot, és ellenőrizze a kimenetet

Adatbázis tesztelése Selenium

Ugyanezek a lépések vonatkoznak minden relációs motorra.

JDBC illesztőprogramok és kapcsolati karakterláncok népszerű adatbázisokhoz

MySQL csak egy lehetőség. A JDBC minta azonos marad a különböző motorokban: az importálások, a Statement hívás és a ResultSet ciklus nem változik. Csak a meghajtó műterméke és a URL eltérőek lehetnek, ezért az alábbi táblázatot kell használni, ha a tesztelt alkalmazás egy másik adatbázison fut.

adatbázis Vezetői kategória Mintakapcsolat URL Alapértelmezett 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.OracleVezető jdbc:oracle:thin:@localhost:1521:orcl 1521
SQL Server com.microsoft.sqlserver.jdbc.SQLServerDriver jdbc:sqlserver://localhost:1433;adatbázisNév=emp 1433

A portszámok okozzák a legtöbb első alkalommal előforduló hibát. A kapcsolat elutasítása hiba szinte mindig azt jelenti, hogy a port a URL nem egyezik meg azzal a porttal, amelyet a szerver valójában figyel. Ellenőrizze a szerver konfigurációját, mielőtt az alapértelmezett értéket választja.

Minden illesztőprogram egyetlen JAR fájlként kerül kiszállításra, amelyet pontosan a 7. lépésben látható módon kell hozzáadni a build útvonalhoz. A fent felsorolt ​​összes motor automatikusan regisztrálja magát, így nincs szükség a Class.forName sorra. Ez azt jelenti, hogy egyetlen segítő metódus képes kiszolgálni a csomag által célzott összes környezetet.

GYIK

Nem. A JDBC 4.0 óta (Java 6), A DriverManager a ServiceLoader mechanizmuson keresztül ismeri fel az illesztőprogramokat, így elegendő a Connector/J JAR hozzáadása az osztályútvonalhoz. A hívást csak akkor tartsuk meg, ha egy örökölt konténer nem tudja automatikusan regisztrálni az illesztőprogramot.

A Connector/J JAR hiányzik a futásidejű osztályútvonalból, vagy a URL hibás formátumú. Győződjön meg arról, hogy a JAR fájl megjelenik a Hivatkozott könyvtárak alatt, és ellenőrizze, hogy a URL jdbc:mysql:// karakterlánccal kezdődik, és egy elérhető hosztot és portot nevez meg.

Igen. Asszisztensek, mint például GitHub másodpilóta állványkapcsolat-segítők, ResultSet ciklusok és sémaleírásból származó állítások. RevMinden generált lekérdezést ellenőrizzen a helyes táblanevek és az injektálás biztonsága érdekében a véglegesítés előtt.

A mesterséges intelligencia modelljei valósághű kezdő sorokat generálnak, határértékeket javasolnak, és jelzik azokat az állításokat, amelyek eltolódnak egy sémamigráció után. Olyan platformok, mint például a Testim alkalmazza ezt a karbantartásra, bár az emberi felülvizsgálat továbbra is szükséges a hivatkozási integritáshoz.

Mindig. Egy le nem zárt Connection vagy ResultSet egy hosszú készleten keresztül kimeríti a szerver kapcsolatkészletét. Csomagold be őket try-with-resources blokkba, vagy zárd le őket egy @AfterMethod blokkban, hogy a cleanup akkor is lefusson, ha egy assertion sikertelen.

Foglald össze ezt a bejegyzést a következőképpen: