Selenium Easy

kuten tiedämme, jokaisen sovelluksen on ylläpidettävä tietokantaa, kuten My SQL, Oracle tai muita tietokantoja tallentaakseen kaikki tietonsa. Ja jossa seleeni Webdriver käytetään testaamiseen web-sovelluksia ja suoritamme monia toimintoja, kuten tietojen toimittamista ja joitakin kertoja tietojen hakemista ja validoida ne.

selenium-skripteissä, kun on tarve saada tietoja tietokannasta, saatamme joutua käyttämään API: a, joka auttaa vuorovaikutuksessa tietokannan, kuten JDBC: n kanssa.

Java Database Connectivity(JDBC) on Java-API, jota käytetään tietokannan yhdistämiseen ja vuorovaikutukseen.

miksi käytämme JDBC: tä ODBC: n sijaan?

ODBC on kehitetty ja kirjoitettu C-kielellä, joka on alustariippumaton. missä JDBC API on spesifikaatio tarjoaa joukon rajapintoja, jotka on kirjoitettu ja kehitetty Java-ohjelmointikielellä.

miten muodostaa yhteys tietokantaan JDBC: n avulla?

alla on vaiheet yhteyden tietokantaan, ennen kuin jatkat, sinun täytyy olla MySQL liitin. Voit ladata täältä Lataa MySQL liitin Jar ja lisää se rakentaa polku kuin lisäämme seleeni webdriver jar.

1. Lataa ja rekisteröi kuljettaja
2. Luodaan Yhteys.
3. Luodaan Lauseobjekti
4. Suorita lauseke
5. Suljen yhteyden.

1. Lataa ja rekisteröi kuljettaja:

kuljettajan rekisteröimiseksi lataamme Kuljettajaluokan forName () – menetelmällä.

forName () on staattinen tehdasmenetelmä, joka esiintyy ennalta määritetyssä luokassa nimeltä ”Class”. Tämä menetelmä lataa parametrina mainitun luokan.

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

sisäisesti tämä Kuljettajaluokka rekisteröi kuljettajan käyttämällä staattista menetelmää, jota kutsutaan registerdriveriksi ().

2. Yhteyden muodostaminen:

yhteyden muodostamiseksi tietokantaan kutsumme staattista menetelmää nimellä getConnection(…) läsnä DriverManager-luokassa. Tämä menetelmä sisältää kolme merkkijonotyyppistä argumenttia. eli url, käyttäjätunnus ja salasana

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

URL sisältää ”jdbc(main protocol):mysql(sub protocol for MySQL)://localhost:3306(sub name for MySQL (host:prot))/Employee(database)” ja tämän menetelmän palautustyyppi on Connection Object ie.,

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

3. Lauseobjektin luominen:

lauseobjektin luominen edellyttää Connection Interfacessa esiintyvää menetelmää nimeltä createStatement ().

con.createStatement();

ja tämä menetelmä palauttaa lauseke objekti ja se ei ole argumentointimenetelmä.

Statement st= con.createStatement();

4.Kyselyiden suorittaminen:

kyselyiden suorittamiseen on Statement Interfacessa erilaisia menetelmiä tietueiden hakemiseen ja päivittämiseen.

haetaan tietueita:
tiettyjen kyselyiden suorittamiseen (tietueiden hakemiseen) kutsumme menetelmää executeQuery(String qry) ottamalla merkkijonon parametriksi.

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

tämä menetelmä palauttaa ResultSet-objektin.

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

nyt pitää saada ennätykset ResultSet-objektista. Päästäkseen käsiksi resultset-olioon se käyttää next () – nimistä menetelmää, joka esitetään ResultSet-rajapinnassa.

oletuksena Resultset-viite ” rs ” viittaa ennen ensimmäistä riviä. se siirtää RS seuraavalle riville ja palauttaa true. Kun se palaa true haemme tiedot ensimmäisellä rivillä. next () palauttaa false kun rs osoittaa viimeisen rivin jälkeen. tämä seuraava () toistaa suorituksen käyttäen while Loopia, kunnes se palaa false.

saadaksesi rivien tiedot Käytämme getxxx(..) kun merkkijono tai kokonaisluku parametreina. Tässä kokonaisluku tarkoittaa sarakkeen sijainti ja merkkijono tarkoittaa sarakkeen nimi tietueen. xxx tarkoittaa alkeellista tietotyyppiä tai merkkijonokohdetta.

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);}

tietueiden päivittäminen:
tietueiden päivittäminen taulukossa käytämme menetelmää nimeltä executeUpdate(String str)

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

joka palauttaa kokonaisluku arvo kuinka monta kirjaa on päivitetty.

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

5. Yhteyden sulkeminen:

kun kaikkien lausekkeiden suoritus on suoritettu, meidän on suljettava kaikki yhteydet käyttämällä menetelmää nimeltä close (), joka on läsnä Connection interfacessa

con.close();

tietokannassa, jota käytämme esimerkiksi, on seuraavat tietueet taulukossa ”työntekijä”
 tietokantatestaus seleenillä

nyt on aika tarkastella alla olevaa yksinkertaista esimerkkiohjelmaa ja myöhemmin hyppäämme kehysesimerkkiin : – Seuraavassa opetusohjelmassa yritämme ottaa esimerkin, joka ottaa parametrit (kuten tietokannan tunnistetiedot , ympäristön tiedot jne.) ominaisuustiedostoista ja jatkaa testiä määritettyjen parametrien perusteella.

/** * 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(); } } }}

yllä olevassa esimerkissä meillä on, setUp () luo tietokantayhteyden, ja @testimenetelmässä suoritamme ja iteroimme taulukon tulostaaksemme kaikki tietokannan arvot. Ja viimeinen tearDown () on tiivis yhteys, joka sulkee tietokantayhteyden, jos se avataan.

yllä olevan ohjelman tuotoksen tulisi näyttää alla:

tietokannan testaustulos seleenillä

tähän asti olemme nähneet esimerkin siitä,miten tietokantaan pääsee, nyt katsotaan, miten me itse asiassa suoritamme Tietokantatestauksen seleenin avulla.

on lähinnä kaksi asiaa, joita kannattaa testata tietokannan varmentamiseksi seleenillä.

ensin, tehtyämme mitä tahansa toimia web-sovelluksessa (Front-end), Saatamme haluta tarkistaa tietokannasta, onko kaikki lähettämämme tiedot tallennettu oikein. Nyt esimerkiksi, kun luot tilin, syötämme joitakin tietoja sähköpostin tunnus, käyttäjätunnus jne. Varmista, että tili on luotu, voimme tarkistaa record luotu tietokantaan kaikki tiedot käyttäjä edellyttäen.

Muu tapaus voi olla kuten, suoritettuaan minkä tahansa toiminnon, voimme haluta tarkistaa, että käyttöliittymässä näytetyt tiedot ovat oikein vertailemalla tietokantaa.

Toivottavasti tämä artikkeli auttaa sinua. Älä kerro meille, jos ovat törmänneet mitään vaikeuksia työskennellessään edellä ohjelman ja palaute on myös tervetullut.

Vastaa

Sähköpostiosoitettasi ei julkaista.