seleniu Easy

după cum știm fiecare aplicație trebuie să mențină o bază de date ca SQL meu, Oracle sau orice alte baze de date pentru a stoca toate datele sale. Și unde Selenium Webdriver este folosit pentru testarea aplicațiilor web și efectuăm multe operații, cum ar fi trimiterea de informații și, uneori, preluarea informațiilor și validarea acestora.

în scripturile selenium, atunci când este nevoie să obținem datele din Baza de date, este posibil să fim nevoiți să folosim API-uri care ajută la interacțiunea cu baza de date precum JDBC.

Java Database Connectivity(JDBC) este un API Java care este utilizat pentru conectarea și interacțiunea cu baza de date.

de ce folosim JDBC în loc de ODBC?

ODBC este dezvoltat și scris în C, care este independent de platformă. în cazul în care ca JDBC API este o specificație oferă set de interfețe care sunt scrise și dezvoltate în limbajul de programare Java.

cum se conectează la baza de date folosind JDBC?

mai jos sunt pașii pentru conectarea la baza de date, înainte de a continua, trebuie să aveți conector MySQL. Puteți descărca de aici Descărcați MySQL Connector Jar și adăugați-l calea de construire pe măsură ce adăugăm selenium webdriver jar.

1. Încărcarea și înregistrarea șoferului
2. Stabilirea Conexiunii.
3. Crearea Obiectului De Declarație
4. Executați instrucțiunea
5. Închiderea conexiunii.

1. Încărcați și înregistrați driverul:

pentru înregistrarea driverului încărcăm clasa driverului folosind metoda forName ().

forName() este metoda statică din fabrică care este prezentă în clasa predefinită numită „clasă”. Această metodă încarcă clasa care este menționată ca parametru.

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

intern această clasă de Driver va înregistra driverul utilizând metoda statică numită registerDriver().

2. Stabilirea conexiunii:

pentru stabilirea conexiunii cu baza de date numim metoda statică numită getConnection(…) prezent în clasa DriverManager. Această metodă conține trei argumente de tip șir. adică, url-ul, numele de utilizator și parola

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

URL-ul conține „jdbc(protocol principal):mysql(sub protocol pentru mySql)://localhost:3306(sub nume pentru mysql (gazdă:prot))/angajat(baza de date)” și acest tip de returnare metodă este obiect de conexiune adică.,

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

3. Crearea obiect declarație:

pentru crearea obiect declarație avem nevoie pentru a apela o metodă numită createStatement (), care este prezent în interfața de conectare.

con.createStatement();

și această metodă returnează obiect declarație și este nici o metodă argument.

Statement st= con.createStatement();

4.Executarea interogărilor:

pentru executarea interogărilor există diferite metode prezente în interfața de instrucțiuni pentru preluarea înregistrărilor și pentru actualizarea înregistrărilor.

preluarea înregistrărilor:
pentru executarea interogărilor selectate(pentru preluarea înregistrărilor) numim o metodă numită executeQuery (string qry) luând string ca parametru.

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

această metodă returnează obiectul ResultSet.

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

acum avem nevoie pentru a obține înregistrările de obiect ResultSet. Pentru a accesa obiectul resultset se folosește o metodă numită next () care prezintă în Interfața ResultSet.

implicit ResultSet reference ‘rs’ points to before first row. se mută rs la rândul următor și returnează true. Când returnează true vom prelua datele din primul rând. următorul () returnează false atunci când rs indică după ultimul rând. acest următor () va repeta execuția folosind while loop până când returnează false.

pentru a obține datele din rânduri folosim getXxx (..) luând șir sau întreg ca parametri. Aici integer înseamnă poziția coloanei și string înseamnă numele coloanei înregistrării. xxx indică tipuri de date primitive sau obiect șir.

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

actualizarea înregistrărilor:
pentru a actualiza înregistrările dintr-un tabel folosim o metodă numită executeUpdate(String str)

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

care returnează valoarea întreg ca cât de multe înregistrări au fost actualizate.

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

5. Închiderea conexiunii:

odată ce executarea tuturor declarațiilor au fost finalizate, trebuie să închidem toate conexiunile folosind metoda numită close() prezentă în interfața de conectare

con.close();

baza de date pe care o folosim de exemplu are următoarele înregistrări în tabelul ‘Employee’
testarea bazei de date cu selenium

acum este timpul să analizăm mai jos programul de exemplu simplu și mai târziu vom sări în : – În tutorialul următor, vom încerca să luăm un exemplu care va lua parametrii (cum ar fi acreditările bazei de date , detaliile mediului etc.) din fișierele de proprietăți și vom continua testul pe baza parametrilor specificați.

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

în exemplul de mai sus, avem, setUp() va crea o conexiune de bază de date, și în @metoda de testare vom executa și itera tabelul pentru a imprima toate valorile din Baza de date. Și ultima tearDown () are conexiune strânsă, care va închide conexiunea bazei de date în cazul în care este deschis.

ieșirea programului de mai sus ar trebui să arate mai jos:

rezultatul testării bazei de date cu seleniu

până acum am văzut exemplu despre cum să accesați baza de date,acum să vedem cum efectuăm efectiv testarea bazei de date folosind seleniu.

există în principal două lucruri pe care am putea dori să le testăm pentru a verifica baza de date cu seleniu.

în primul rând, după efectuarea oricărei acțiuni în aplicația web (Front-end), este posibil să dorim să verificăm baza de date dacă toate detaliile pe care le-am trimis sunt stocate corect. Acum, de exemplu, atunci când creați un cont, vom introduce câteva date Id de e-mail, nume de utilizator etc. Pentru a ne asigura că este creat un cont, putem verifica înregistrarea creată în baza de date cu toate detaliile furnizate de utilizator.

alt caz poate fi ca, după efectuarea oricărei acțiuni, am putea dori să verifice datele afișate în UI este corectă prin compararea bazei de date.

Sper că acest articol vă ajută. Spuneți-ne dacă ați întâmpinat dificultăți atunci când lucrați cu programul de mai sus și feedback-ul este, de asemenea, binevenit.

Lasă un răspuns

Adresa ta de email nu va fi publicată.