Selenium Easy

mint tudjuk, minden alkalmazásnak olyan adatbázist kell fenntartania, mint a My SQL, Oracle vagy bármely más adatbázis az összes adat tárolásához. És ahol a Selenium Webdriver-t webes alkalmazások tesztelésére használják, és számos műveletet hajtunk végre, mint például az információk benyújtása és néhány alkalommal az információk lekérése és érvényesítése.

a selenium szkriptekben, amikor szükség van az adatok adatbázisból történő beszerzésére, előfordulhat, hogy API-kat kell használnunk, amelyek segítenek az adatbázisokkal, például a JDBC-vel való interakcióban.

a Java Database Connectivity(JDBC) egy Java API, amelyet az adatbázisok összekapcsolására és interakciójára használnak.

miért használjuk a JDBC-t ODBC helyett?

az ODBC-t C-ben fejlesztették ki és írták, amely platformfüggetlen. ahol a JDBC API egy olyan specifikáció, amely olyan interfészeket tartalmaz, amelyeket Java programozási nyelven írtak és fejlesztettek ki.

hogyan lehet csatlakozni az adatbázishoz a JDBC segítségével?

az alábbiakban bemutatjuk az adatbázishoz való csatlakozás lépéseit, mielőtt folytatná, rendelkeznie kell a MySQL csatlakozóval. Letöltheti innen töltse le a MySQL Connector Jar-t, és adja hozzá a build path-ot, ahogy hozzáadjuk a selenium webdriver jar-t.

1. Töltse be és regisztrálja a vezetőt
2. Kapcsolat Létrehozása.
3. Létrehozása Utasítás Objektum
4. Hajtsa végre a
5 utasítást. A kapcsolat lezárása.

1. Az illesztőprogram betöltése és regisztrálása:

az Illesztőprogram regisztrálásához a Forname() módszerrel töltjük be az Illesztőprogram osztályt.

forName() a statikus gyári módszer, amely jelen van az előre definiált osztály úgynevezett “Class”. Ez a módszer betölti a paraméterként említett osztályt.

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

belsőleg ez az Illesztőprogram-osztály regisztrálja az illesztőprogramot a registerdriver () nevű statikus módszerrel.

2. Kapcsolat létrehozása:

az adatbázissal való kapcsolat létrehozásához statikus módszert hívunk getconnection(…) jelen van a DriverManager osztályban. Ez a módszer három karakterlánc típusú argumentumot tartalmaz. azaz, url, felhasználónév és jelszó

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

URL tartalmazza ” jdbc (main protocol): mysql(sub protocol for mySql)://localhost:3306(sub name for MySQL (host: prot))/Employee(database)”, és ez a módszer visszatérési típus Connection Object ie.,

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

3. Nyilatkozat objektum létrehozása:

az utasítás objektum létrehozásához meg kell hívnunk a Createstatement() nevű módszert, amely jelen van a csatlakozási felületen.

con.createStatement();

és ez a módszer visszaadja az utasítás objektumot, és ez nem argumentum módszer.

Statement st= con.createStatement();

4.Lekérdezések végrehajtása:

a lekérdezések végrehajtásához az utasítás interfészében különböző módszerek vannak a rekordok lekérésére és a rekordok frissítésére.

rekordok lekérése:
select lekérdezések végrehajtásához (rekordok lekéréséhez) egy executeQuery(String qry) nevű metódust hívunk meg, ha karakterláncot veszünk paraméterként.

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

ez a módszer a ResultSet objektumot adja vissza.

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

most meg kell kapnunk a rekordokat a ResultSet objektumból. A resultset objektum eléréséhez a next() nevű módszert használja, amely a ResultSet felületen jelenik meg.

alapértelmezés szerint az ‘rs’ hivatkozás az első sor elé mutat. az rs-t a következő sorra mozgatja, és true értéket ad vissza. Amikor visszatér true lekérjük az adatokat az első sorban. a next() false értéket ad vissza, ha az rs az utolsó sor utánra mutat. ez a next() megismétli a végrehajtást a while hurok használatával, amíg hamis értéket nem ad vissza.

ahhoz, hogy az adatokat a sorok használjuk getXxx(..) figyelembe string vagy egész paraméterként. Itt az egész szám az oszlop helyzetét, a string pedig a rekord oszlopnevét jelenti. xxx jelzi primitív adattípusok vagy string objektum.

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

rekordok frissítése:
a táblák rekordjainak frissítéséhez az executeUpdate(String str) nevű módszert használjuk)

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

amely egész értéket ad vissza, mint hány rekord frissült.

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

5. A kapcsolat bezárása:

miután az összes utasítás végrehajtása befejeződött, be kell zárnunk az összes kapcsolatot a close() nevű módszerrel, amely a kapcsolat interfészében található

con.close();

adatbázis, amelyet például használunk, a következő rekordokkal rendelkezik a táblázatban ‘alkalmazott’
 adatbázis tesztelés szelénnel

most itt az ideje, hogy megvizsgáljuk az alábbi egyszerű példa programot, majd később a keretrendszer példájába ugorunk : – A következő oktatóanyagban megpróbálunk egy példát venni, amely a paramétereket (például az adatbázis hitelesítő adatait , a környezet részleteit stb.) A tulajdonságfájlokból veszi át, és a megadott paraméterek alapján folytatja a tesztet.

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

a fenti példában a setUp() adatbázis-kapcsolatot hoz létre, és a @Test method-ban végrehajtjuk és iteráljuk a táblázatot, hogy kinyomtatjuk az adatbázis összes értékét. A last tearDown() pedig szoros kapcsolattal rendelkezik, amely megnyitja az adatbázis-kapcsolatot.

a fenti program kimenete az alábbiak szerint néz ki:

adatbázis tesztelési eredmény szelénnel

eddig láttunk példát az adatbázis elérésére,most nézzük meg, hogyan végezzük el az adatbázis tesztelését szelén segítségével.

vannak főleg két dolog, hogy érdemes tesztelni, hogy ellenőrizze adatbázis szelén.

először is, miután bármilyen műveletet végrehajtottunk a webes alkalmazásban (Front-end), érdemes ellenőrizni az adatbázist, ha az összes beküldött adat helyesen van-e tárolva. Most például egy Fiók létrehozásakor megadunk néhány adat e-mail azonosítót, felhasználónevet stb. Annak érdekében, hogy egy fiók jön létre, tudjuk ellenőrizni rekord létrehozott adatbázis minden részletet felhasználó által biztosított.

egyéb esetben lehet, mint, miután bármilyen műveletet, akkor érdemes ellenőrizni a megjelenített adatok a UI helyes összehasonlításával az adatbázisban.

Remélem, ez a cikk segít. Tudassa velünk, ha bármilyen nehézségbe ütközött a fenti programmal való munka során, és a visszajelzést is szívesen látjuk.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.