selen Easy

som vi ved, skal enhver applikation opretholde en database som min Database, Oracle eller andre databaser for at gemme alle dens data. Vi udfører mange operationer som at indsende oplysninger og nogle gange hente oplysninger og validere dem.

i selen scripts, når der er behov for at få Data fra databasen kan vi nødt til at bruge API ‘ er, som hjælper til at interagere med database som JDBC.

Java Database Connectivity(JDBC) er en Java API, der bruges til at forbinde og interagere med databasen.

Hvorfor bruger vi JDBC i stedet ODBC?

ODBC er udviklet og skrevet i C, som er platformuafhængig. hvor som JDBC API er en specifikation giver sæt af grænseflader, som er skrevet og udviklet i Java programmeringssprog.

Sådan opretter du forbindelse til database ved hjælp af JDBC?

nedenstående er trinnene for at oprette forbindelse til databasen. Du kan hente herfra og tilføje den byggestien, når vi tilføjer selen-driverkrukke.

1. Indlæs og registrer driveren
2. Etablering Af Forbindelse.
3. Oprettelse Af Sætningsobjekt
4. Udfør erklæringen
5. Lukning af forbindelsen.

1. Indlæs og registrer driveren:

til registrering af driveren indlæser vi Driverklassen ved hjælp af forName () – metoden.

forName() er den statiske fabriksmetode, der findes i foruddefineret klasse kaldet “klasse”. Denne metode indlæser klassen, der er nævnt som parameter.

Class.forName("com.mysql.jdbc.Driver");// class.forName load the Driver class

internt registrerer denne Driverklasse driveren ved hjælp af statisk metode kaldet registerDriver().

2. Oprettelse af forbindelse:

til oprettelse af forbindelse med database kalder vi statisk metode kaldet getConnection(…) til stede i DriverManager klasse. Denne metode indeholder tre argumenter af strengtype. dvs. url, brugernavn og adgangskode

DriverManager.getConnection("jdbc:mysql://localhost:3306/Employee","root","root"); 

URL indeholder “jdbc(hovedprotokol):myskl(underprotokol for myskl)://localhost:3306(undernavn for myskl (vært:prot))/medarbejder(database)”, og denne metode returtype er Forbindelsesobjekt dvs.,

Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/Employee","root","root"); 

3. Oprettelse af Udsagnsobjekt:

for at oprette udsagnsobjekt skal vi kalde en metode kaldet createStatement (), som er til stede i forbindelsesgrænsefladen.

con.createStatement();

og denne metode returnerer Udsagnsobjekt, og det er ingen argumentmetode.

Statement st= con.createStatement();

4.Udførelse af forespørgsler:

til udførelse af forespørgsler findes der forskellige metoder i Sætningsgrænsefladen til hentning af poster og til opdatering af poster.

henter poster:
til udførelse af udvælgelsesforespørgsler(til hentning af poster) kalder vi en metode kaldet eksekveringsforespørgsel (Strengkry) ved at tage streng som parameter.

st.executeQuery("Select * from Employee");

denne metode returnerer resultatsæt-objekt.

Resultset rs= st.executeQuery("Select * from Employee");// once executeQuery() executes the query and stores the records in to ResultSet object. 

nu skal vi hente posterne fra ResultSet-objektet. For at få adgang til resultatsæt-objektet bruger den en metode kaldet næste (), der præsenteres i resultatsæt-Interface.

som standard resultatsæt reference ‘rs’ peger på før første række. den flytter rs til næste række og returnerer true. Når det returnerer sandt, henter vi dataene i første række. næste () returnerer false, når rs peger på efter den sidste række. denne næste () gentager udførelsen ved hjælp af Mens loop indtil den returnerer FALSK.

for at få dataene fra rækker bruger vi geth(..) tager streng eller heltal som parametre. Her betyder heltal kolonneposition og streng betyder kolonnenavn på posten. angiver primitive datatyper eller strengobjekt.

while(rs.next()) {int EmpId= rs.getInt("EmpId");String EmpName= rs.getString("EmpName");String EmpAddress=rs.getString(3);Double EmpSal= rs.getDouble(4);String EmpDept=rs.getString("EmpDept");System.out.println(EmpId+"\t"+EmpName+"\t"+EmpAddress+"\t"+EmpSal+"\t"+EmpDept);}

opdatering af poster:
for at opdatere poster i en tabel bruger vi en metode kaldet eksekverupdate(String str)

st.executeUpdate("update Employee set EmpName='Robert' where EmpId=2");

hvilket returnerer heltalsværdi som hvor mange poster der er blevet opdateret.

int result = st.executeUpdate("update Employee set EmpName='Robert' where EmpId=2");System.out.println("number of records updated is" +result);

5. Lukning af forbindelsen:

når udførelsen af alle udsagn var afsluttet, er vi nødt til at lukke alle forbindelserne ved hjælp af metoden kaldet luk() til stede i forbindelsesgrænsefladen

con.close();

Database, som vi f. eks. bruger, har følgende poster i tabellen ‘medarbejder’
databasetest med selen

nu er det tid til at undersøge nedenstående enkle eksempelprogram, og senere springer vi ind i rammeeksempel på : – I næste tutorial vil vi forsøge at tage et eksempel , der tager parametrene (som databaseoplysninger, miljødetaljer osv.) fra egenskabsfiler og fortsæt testen baseret på angivne parametre.

/** * Created by VISISHTA on 12/17/2015. */import org.testng.annotations.AfterClass;import org.testng.annotations.BeforeClass;import org.testng.annotations.Test;import java.sql.*;public class SeleniumDataBaseTesting { private Connection connection; private static Statement statement; private static ResultSet rs; @BeforeClass public void setUp() { String databaseURL = "jdbc:mysql://localhost:3306/easy"; String user = "root"; String password = "root"; connection = null; try { Class.forName("com.mysql.jdbc.Driver"); System.out.println("Connecting to Database..."); connection = DriverManager.getConnection(databaseURL, user, password); if (connection != null) { System.out.println("Connected to the Database..."); } } catch (SQLException ex) { ex.printStackTrace(); } catch (ClassNotFoundException ex) { ex.printStackTrace(); } } @Test public void getEmployeesFromDataBase() { try { String query = "select * from employee"; statement = connection.createStatement(); rs = statement.executeQuery(query); while(rs.next()){ int EmpId= rs.getInt("EmpId"); String EmpName= rs.getString("EmpName"); String EmpAddress=rs.getString(3); String EmpDept=rs.getString("EmpDept"); Double EmpSal= rs.getDouble(5); System.out.println(EmpId+"\t"+EmpName+"\t"+EmpAddress+"\t"+EmpSal+"\t"+EmpDept); } } catch (SQLException ex) { ex.printStackTrace(); } } @AfterClass public void tearDown() { if (connection != null) { try { System.out.println("Closing Database Connection..."); connection.close(); } catch (SQLException ex) { ex.printStackTrace(); } } }}

i ovenstående eksempel har vi setUp() vil oprette en databaseforbindelse, og i @Test method vil vi udføre og gentage tabellen for at udskrive alle værdierne i databasen. Og sidste nedrivning() har tæt forbindelse, som lukker databaseforbindelsen, hvis den åbnes.

Output af ovenstående program skal se ud nedenfor:

databasetestresultat med selen

indtil nu har vi set eksempel på,hvordan man får adgang til databasen, lad os nu se, hvordan vi rent faktisk udfører databasetest ved hjælp af selen.

der er hovedsageligt to ting, som vi måske vil teste for at verificere database med selen.

først, efter at have foretaget en handling i internetapplikationen (Front-end), vil vi muligvis kontrollere databasen, hvis alle de detaljer, vi har indsendt, er gemt korrekt. Når vi for eksempel opretter en konto, indtaster vi nogle data-e-mail-Id, brugernavn osv. For at sikre, at der oprettes en konto, kan vi kontrollere post oprettet i databasen med alle de detaljer, som brugeren har angivet.

andre tilfælde kan være som, efter at have udført en handling, kan vi kontrollere, at de data, der vises i brugergrænsefladen, er korrekte ved at sammenligne databasen.

håber denne artikel hjælper dig. Lad os vide, hvis der er stødt på problemer, når du arbejder med ovenstående program, og feedback er også velkommen.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.