how read write data from excel sheet selenium web driver
În acest tutorial, veți învăța să citiți și să scrieți date dintr-un fișier Excel în Selenium WebDriver folosind instrucțiunile FILLO API și SQL.
Citirea sau scrierea datelor este una dintre cele mai frecvent utilizate operațiuni, fie preluarea valorilor din tabelele bazei de date, fie preluarea valorilor dintr-o foaie Excel și utilizarea acestora pentru efectuarea analizei.
În acest articol vorbim despre preluarea valorilor dintr-un fișier Excel folosind instrucțiuni SQL și API FILLO.
Ce veți învăța:
Prezentare generală API SON
FILLO este un API Java care este utilizat pentru preluarea datelor din fișiere Excel. Cu utilizarea API-ului FILLO, parametrizarea devine foarte ușoară, adică rularea cazurilor de testare în Selenium cu un set diferit de date.
Înainte de aceasta, am folosit API-ul JXL pentru parametrizare, ulterior apache POI a intrat pe piață și în ambele API-uri trebuie să scriem cod mare, să traversăm rândurile și coloanele și să preluăm valorile stocate într-o foaie Excel.
întrebări despre interviu de muncă analist de asigurare a calității
Dar acum, cu acest nou API FILLO, nu mai este nevoie să vă faceți griji cu privire la dimensiunea rândurilor și coloanelor, totul va fi îngrijit de API pe plan intern. Trebuie doar să apelați clasele definite în API și să vă declarați datele de testare în fișierul Excel. Consultați site-ul oficial pentru documentare și descărcarea fișierului jar- Biblioteca Java SON
Dacă utilizați Maven, utilizați dependența Maven.
Borcan FILLO cu dependență Maven
start
- Este un API excel pentru limbajul Java.
- Acceptă fișiere .xls și .xlsx.
- Acceptă interogări SELECT, UPDATE și INSERT.
- Utilizați cu sau fără clauza WHERE și clauza LIKE.
Operațiune permisă cu Fillo
Selectați operațiunea: Instrucțiunea SELECT îndeplinește aceeași funcție, la fel ca la preluarea valorilor dintr-un tabel și afișarea către utilizatorul final, în același mod aici instrucțiunea SELECT returnează date dintr-o foaie Excel.
Sintaxă:
SELECT * From Sheet Name
UPDATE Operațiune: Instrucțiunea UPDATE modifică înregistrările existente în foaia Excel.
Sintaxă:
UPDATE sheet1 Set Column Name= ‘Value’
INSERARE Funcționare: Instrucțiunea INSERT introduce o nouă înregistrare într-o foaie Excel.
Sintaxă:
INSERT INTO Sheet Name (ColumnName1,ColumnName2) VALUES (‘Val1’,’Val2’)
Efectuați aceleași operațiuni cu operatorii WHERE și LIKE:
- „SELECT * din Foaia Nume unde ID = 1 și nume =‘ Isus ’”
- „SELECT * din Nume foaie unde coloana1 = valoare1 și coloană2 = valoare2 și coloană3 = valoare3”
- „ACTUALIZARE Foaie nume nume Țară =„ Marea Britanie ”unde ID = 10 și nume =„ Iisus ””
- „SELECT * din Nume foaie unde Nume precum„ Jes% ””
Pașii de execuție care trebuie urmați pentru operațiunea SELECT / INSERT / UPDATE:
# 1) // Creați un obiect din clasa Fillo.
Fillo fillo = new Fillo();
#Două) // Creați un obiect pentru clasa Connection și utilizați metoda getConnection () definită în clasa Fillo, pentru a stabili conexiunea dintre foaia Excel și API-ul Fillo.
Connection connection = fillo.getConnection(”excelPath”);
# 3) // Selectați toate valorile prezente într-o foaie. Cei prezenți în Excel și stochează rezultatul într-o variabilă șir.
String strSelectQuerry = 'Select * from SheetName';
# 4) // executați interogarea Selectați și stocați rezultatul într-o clasă Recordset prezentă în API-ul Fillo.
Recordset recordset =connection.executeQuery(strSelectQuerry);
# 5) // utilizați bucla while pentru a itera prin toate coloanele și rândurile disponibile în foaia prezentă în fișierul excel.
while(recordset.next()){ // through getfield() method retrieve the data present in a particular column System.out.println(recordset.getField('Column1')); }
# 6) // Utilizați o interogare de actualizare pentru a actualiza detaliile din fișierul Excel.
String strUpdateQuerry = 'Update Data Set SiteTitle = 'SoftwareTestingHelp.com' '; connection.executeUpdate (strUpdateQuerry);
# 7) // Utilizați Insert query pentru a insera date în foaia Excel.
String strInsertQuerry = 'INSERT INTO Data (SiteTitle,SiteTopic) Values('Bharat','NewDelhi')'; connection.executeUpdate (strInsertQuerry);
# 8) // închideți setul de înregistrări pentru a evita scurgerile de memorie.
recordset. Close();
# 9) // închideți conexiunea pentru a evita scurgerile de memorie.
connection. Close();
Acum, folosind pașii de mai sus, în cadrul Selenium, vom prelua valorile rândurilor și coloanelor stocate într-un fișier excel și anume „TestFile.xlsx” și vom introduce valoarea într-un site demonstrativ: https://wordpress.com/start/about?ref=create-blog-lp
Foaie Excel cu valori de rând: „Ajutor pentru testare nouă” și „Testare_Continute_relate”
Fișier Excel plasat în folderul Proiect:
Cod Seleniu
Codul complet Selenium, care preia valoarea din foaia Excel și intrările din site-ul de testare este dat mai jos:
package softwareTestingHelp.Com; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import com.codoid.products.exception.FilloException; import com.codoid.products.fillo.Connection; import com.codoid.products.fillo.Fillo; import com.codoid.products.fillo.Recordset; public class ReadWriteExcel { static WebDriver driver; //demo site -https://wordpress.com/start/about?ref=create-blog-lp //download jar file - https://mvnrepository.com/artifact/com.codoid.products/fillo publicstaticvoid main(String args()) throwsInterruptedException, FilloException{ //Calling up the GoogleChrome driver System.setProperty('webdriver.chrome.driver', 'D:\Srinivas\New folder\exe\chromedriver.exe'); driver = newChromeDriver(); //Opening the demo site - wordpress.com driver.get('https://wordpress.com/start/about?ref=create-blog-lp'); //Locating the Test data excel file String excelPath = '.\Data\TestFile.xlsx'; System.out.println(excelPath); //Create an Object of Fillo Class Fillo fillo = newFillo(); //Create an Object for Connection class and use getConnection() //method defined inside Fillo class, to establish connection between excelsheet and Fillo API’s. Connection connection = fillo.getConnection(excelPath); //Select all the values present in a sheet, which is present inside the excel and store its output in a String variable String strSelectQuerry = 'Select * from Data'; System.out.println(strSelectQuerry); //Execute the Select query and store the result in a Recordset class present in Fillo API. Recordset recordset =null; recordset = connection.executeQuery(strSelectQuerry); //use while loop to iterate through all columns and rows available in sheet present inside excel file while(recordset.next()){ System.out.println('Column 1 = ' +recordset.getField('SiteTitle')); String siteTitle = recordset.getField('SiteTitle'); driver.findElement(By.xpath('//input(@name='siteTitle')')).clear(); driver.findElement(By.xpath('//input(@name='siteTitle')')).sendKeys(siteTitle) ; System.out.println('Column 2 = ' +recordset.getField('SiteTopic')); String siteTopic = recordset.getField('SiteTopic'); driver.findElement(By.xpath('//input(@name='siteTopic')')).clear(); driver.findElement(By.xpath('//input(@name='siteTopic')')).sendKeys(siteTopic) ; connection.close(); } //Use update query to update the details in excel file Connection connection1 = fillo.getConnection(excelPath); System.out.println('Column 1 value before Update clause = ' +recordset.getField('SiteTitle')); String strUpdateQuerry = 'Update Data Set SiteTitle = 'SoftwareTestingHelp.com' '; System.out.println(strUpdateQuerry); connection1.executeUpdate(strUpdateQuerry); System.out.println('Column 1 value after Update clause = ' +recordset.getField('SiteTitle')); //Use Insert query to update the data in excel sheet Connection connection2 = fillo.getConnection(excelPath); System.out.println('Column 1 and column 2 value before insert clause = ' +recordset.getField('SiteTitle') +recordset.getField('siteTopic')); String strInsertQuerry = 'INSERT INTO Data (SiteTitle,SiteTopic) Values('Bharat','NewDelhi')'; System.out.println(strInsertQuerry); connection2.executeUpdate(strInsertQuerry); System.out.println('Column 1 and column 2 value after insert clause = ' +recordset.getField('SiteTitle') +recordset.getField('siteTopic')); } }
Instantaneu al codului de rulare
Ieșire de cod care arată rezultatul instrucțiunii SQL:
Fișier Excel după operația de actualizare și inserare:
Site web demonstrativ în care am preluat date din Excel și le-am inserat în site:
cum să programezi postările Instagram gratuit
Concluzie
- Fillo este un API Java foarte util pentru extragerea datelor dintr-o foaie Excel și acceptă atât fișierele .xls, cât și .xlsx Excel.
- Acceptă instrucțiunile SELECT, UPDATE și INSERT.
- Aveți grijă când editați fișierul Excel. Dacă nu este necesar niciun rând sau coloană, ștergeți-le.
- Dacă ștergeți doar valorile din rânduri și coloane fără a șterge întregul rând, atunci API-ul va presupune că câmpurile au valoarea și va încerca să aducă valoarea din rânduri și coloane și, în schimb, vom obține valori goale.
- În cele din urmă, nu uitați să închideți conexiunea după ce ați terminat de preluat valorile din Excel.
Lectura placuta!!
Lectură recomandată
- Introducere în Selenium WebDriver - Tutorial Selenium # 8
- Top 25 de comenzi Selenium WebDriver pe care ar trebui să le cunoașteți
- Cele mai bune 10 instrumente de testare API în 2021 (SOAP și REST API Testing Tools)
- Tutorial JAVA pentru începători: peste 100 de cursuri video Java practice
- Top 90 de întrebări și răspunsuri la interviul SQL (ULTIMELE)
- 30+ Cele mai bune tutoriale despre seleniu: învățați seleniul cu exemple reale
- Crearea cadrului Selenium și accesarea datelor de testare din Excel - Tutorial Selenium # 21
- Cadru bazat pe date în Selenium WebDriver folosind Apache POI