Tietokannan testaus käyttämällä Selenium ja JDBC: Miten muodostaa yhteys?

⚡ Älykäs yhteenveto

Tietokannan testaus käyttäen Selenium perustuu JDBC:hen, koska WebDriver itse validoi vain selainkerroksen. Nämä vaiheet näyttävät, miten avata MySQL yhteyden, suorita SQL, lue ResultSet ja tarkista tallennetut tiedot.

  • 🔌 JDBC-silta: Selenium WebDriver ohjaa vain selainta, joten JDBC toimittaa tietokantakerroksen jokaiselle dataväittämälle.
  • 🧩 Kuljettajaluokka: Moderni MySQL Connector/J rekisteröi com.mysql.cj.jdbc.Driver-tiedoston automaattisesti, joten eksplisiittinen Class.forName-kutsu on valinnainen.
  • 🔗 Yhteysmerkkijono: A MySQL URL seuraa jdbc:mysql://host:3306/database, ja 3306 on palvelimen oletusportti.
  • 📥 Tulosten käsittely: Statement.executeQuery palauttaa ResultSet-joukon, jota iteroit next()-funktiolla ja luet läpi getString-funktion.
  • 🛡️ Resurssien turvallisuus: try-with-resources sulkee Connection-, Statement- ja ResultSet-lausekkeet, vaikka väittämä epäonnistuisi kesken kaiken.
  • 🚀 Kyselyhygienia: PreparedStatement-parametrit poistavat injektioriskin ja antavat palvelimen käyttää välimuistissa olevaa suoritussuunnitelmaa uudelleen.

Tietokannan testaus käyttäen Selenium

Tietokantayhteys sisään Selenium

Selenium Webdriver on rajoitettu Testaus sovelluksesi selaimella. Käyttää Selenium Webdriver for Database Verification sinun on käytettävä JDBC:tä (“Java Tietokantayhteys").

JDBC (Java Tietokantayhteys) on a SQL tason API, jonka avulla voit suorittaa SQL-lauseita. Se on vastuussa yhteyksistä Java Ohjelmointikieli ja laaja valikoima tietokantoja. JDBC API tarjoaa seuraavat luokat ja rajapinnat

  • Driver Manager
  • kuljettaja
  • Yhteys
  • Lausunto
  • Tulosjoukko
  • SQLException

Kuinka yhdistää tietokanta sisään Selenium

Tietokantasi testaamiseksi käyttämällä Selenium, sinun on noudatettava seuraavia 3 vaihetta

Yhdistä tietokanta sisään Selenium

Vaihe 1) Muodosta yhteys tietokantaan

Yhteyden muodostamiseksi tietokantaan syntaksi on

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

Täällä

  • Userid on tietokantaan määritetty käyttäjätunnus
  • Määritetyn käyttäjän salasana
  • URL on muotoa jdbc:< tietokannan tyyppi>://ipaddress:porttinumero/tietokannan_nimi”.
  • - Yhteyden muodostamiseen yritettävään tietokantaan liittyvä ohjain. Yhteyden muodostamiseksi Oracle-tietokantaan tämä arvo on ”oracle”. Yhteyden muodostamiseksi MYSQL:ssä tietokantaan, jonka nimi on ”emp”, URL tulee olemaan jdbc:mysql://localhost:3036/emp

Ja koodi yhteyden luomiseksi näyttää

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

Sinun on myös ladattava JDBC-ohjain koodin avulla

Class.forName("com.mysql.jdbc.Driver");
⚠️ Varoitus: com.mysql.jdbc.Driver vanhentui Connector/J 8.0:ssa. Käytä com.mysql.cj.jdbc.Driver -tiedostoa. JDBC 4.0:sta lähtien ajuri rekisteröityy itse, joten Class.forName on valinnainen. MySQL kuuntelee 3306:lla, ei 3036:lla.

Vaihe 2) Lähetä kyselyt tietokantaan

Kun yhteys on muodostettu, sinun on suoritettava kyselyt.

Voit käyttää Lausekeobjektia kyselyjen lähettämiseen.

Statement stmt = con.createStatement();

Kun käskyobjekti on luotu, suorita SQL-kyselyt executeQuery-menetelmällä

stmt.executeQuery(select *  from employee;);
⚠️ Varoitus: executeQuery ottaa merkkijonon, joten lainaa SQL-lausetta: executeQuery(“select * from employee”). Käytä käyttäjän syötteessä PreparedStatement-lauseketta.

Vaihe 3) Käsittele tulokset

Suoritetun kyselyn tulokset tallennetaan ResultSet-objektiin.

Java tarjoaa runsaasti edistyksellisiä menetelmiä tulosten käsittelyyn. Muutama menetelmä on lueteltu alla

Käsittele tulokset

Esimerkki tietokantatestauksesta Selenium

Vaihe 1) install MySQL Server ja MySQL Työpöytä

Katso täydellinen Mysql & Mysql Workbenchin opas täältä

Asennuksen aikana MySQL Palvelin, huomioi tietokanta

  • Käyttäjätunnus
  • Salasana
  • Porttinumero

Sitä tarvitaan jatkossa.

MySQL Workbenchin avulla tietokannan hallinta on helppoa ilman SQL-koodausta. Voit kuitenkin käyttää myös MySQL Pääte vuorovaikutukseen tietokannan kanssa.

Vaihe 2) In MySQL WorkBench, yhdistä omaan MySQL Server

Tietokannan testaus Selenium

Seuraavassa näytössä

  1. Valitse Paikallinen esiintymä MySQL
  2. Anna portin numero
  3. Syötä käyttäjätunnus
  4. Kirjoita salasana
  5. OK

Tietokannan testaus Selenium

Vaihe 3) Luodaksesi tietokannan,

  1. Napsauta Luo skeema -painiketta
  2. Anna skeeman/tietokannan nimi
  3. Napsauta Käytä

Tietokannan testaus Selenium

Vaihe 4) Navigaattorin valikossa

  1. Napsauta emp-tietokannan alla olevaa Taulukot
  2. Kirjoita taulukon nimi työntekijäksi
  3. Syötä kentät nimellä nimi ja ikä
  4. Napsauta Käytä

Tietokannan testaus Selenium

Näet seuraavan ponnahdusikkunan. Napsauta Käytä

Tietokannan testaus Selenium

Vaihe 5) Luomme seuraavat tiedot

Nimi Ikä
ylin 25
Nick 36
Bill 47

Tietojen luominen taulukkoon

  1. Valitse navigaattorissa työntekijätaulukko
  2. Napsauta oikeanpuoleisessa ruudussa Lomakeeditori
  3. Anna nimi ja ikä
  4. Napsauta Käytä

Tietokannan testaus Selenium

Toista prosessi, kunnes kaikki tiedot on luotu

Tietokannan testaus Selenium

Vaihe 6) Lataa MySQL JDBC liitin täältä

Tietokannan testaus Selenium

Vaihe 7) Lisää ladattu Jar projektiisi

  1. Napsauta hiiren kakkospainikkeella omaa Java Tiedosto. Napsauta sitten Build Path (Koontipolku) à Configure build path (Määritä rakennuspolku)
  2. Valitse kirjastot
  3. Napsauta Lisää ulkoisia JAR-tiedostoja
  4. Voit nähdä MySQL liitin java kirjastossasi
  5. Napsauta Avaa lisätäksesi sen projektiin

Tietokannan testaus Selenium

Vaihe 8) Kopioi seuraava koodi editoriin

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();			
		}
}
⚠️ Varoitus: Listaus säilytetty julkaistussa muodossaan. Nykyaikaiset vastineet: com.mysql.cj.jdbc.Driver, portti 3306, pienillä kirjaimilla kirjoitettu paketti ja try-with-resources siivousta varten.

Vaihe 9) Suorita koodi ja tarkista tulos

Tietokannan testaus Selenium

Samat vaiheet koskevat mitä tahansa relaatiomoottoria.

JDBC-ajurit ja yhteysmerkkijonot suosituille tietokannoille

MySQL on vain yksi vaihtoehto. JDBC-malli pysyy samana eri moottoreissa: tuonnit, Statement-kutsu ja ResultSet-silmukka eivät muutu. Vain ajuriartefakti ja URL eroavat toisistaan, joten käytä alla olevaa taulukkoa, kun testattava sovellus toimii toisessa tietokannassa.

tietokanta Kuljettajaluokka Esimerkkiyhteys URL Oletusportti
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.Oraclekuljettaja jdbc:oracle:thin:@localhost:1521:orcl 1521
SQL Server com.microsoft.sqlserver.jdbc.SQLServerDriver jdbc:sqlserver://localhost:1433;tietokannanNimi=emp 1433

Porttinumerot aiheuttavat useimmat ensimmäiset virheet. Yhteyden hylkäämisvirhe tarkoittaa lähes aina, että portti on URL ei vastaa porttia, jota palvelin todellisuudessa kuuntelee. Tarkista palvelimesi asetukset ennen kuin otat oletusarvon käyttöön.

Jokainen ajuri toimitetaan yhtenä JAR-tiedostona, jonka lisäät koontipolkuun täsmälleen vaiheessa 7 esitetyllä tavalla. Jokainen yllä lueteltu moottori rekisteröityy automaattisesti, joten Class.forName-riviä ei tarvita. Tämä tarkoittaa, että yksi apumetodi voi palvella kaikkia ohjelmistopaketin kohdeympäristöjä.

UKK

Ei. JDBC 4.0:sta lähtien (Java 6), DriverManager löytää ajurit ServiceLoader-mekanismin kautta, joten Connector/J JAR -tiedoston lisääminen luokkapolkuun riittää. Pidä kutsu vain, jos vanha kontti ei rekisteröi ajuria automaattisesti.

Yhdistimen/J JAR-tiedosto puuttuu ajonaikaisesta luokkapolusta tai URL on virheellinen. Varmista, että JAR-tiedosto näkyy kohdassa Viitatut kirjastot ja että URL alkaa jdbc:mysql:// ja nimeää tavoitettavan isännän ja portin.

Kyllä. Avustajat, kuten GitHub Copilot scaffold-yhteysapufunktiot, ResultSet-silmukat ja skeemakuvauksesta saadut väitteet. RevTarkista jokainen luotu kysely oikeiden taulukoiden nimien ja injektoinnin turvallisuuden varmistamiseksi ennen committia.

Tekoälymallit luovat realistisia siemenrivejä, ehdottavat raja-arvoja ja merkitsevät väitteitä, jotka ajautuvat pois tieltä skeeman migraation jälkeen. Alustat, kuten Testim soveltaa tätä ylläpitoon, vaikka ihmisen tekemä tarkistus on edelleen välttämätöntä viittaus-eheyden kannalta.

Aina. Sulkematon yhteys tai tulosjoukko tyhjentää palvelimen yhteyspoolin pitkän yhteysjoukon kautta. Kääri ne try-with-resurssien sisään tai sulje ne @AfterMethod-lohkoon, jotta siivous suoritetaan, vaikka väittämä epäonnistuisi.

Tiivistä tämä viesti seuraavasti: