how read write data from excel sheet selenium web driver
V tomto výučbe sa naučíte čítať a zapisovať údaje zo súboru programu Excel v serveri Selenium WebDriver pomocou príkazov FILLO API a SQL.
Čítanie alebo zápis údajov je jednou z najbežnejšie používaných operácií, a to buď načítanie hodnôt z databázových tabuliek alebo načítanie hodnôt z hárka programu Excel a ich použitie na vykonávanie analýz.
V tomto článku hovoríme o načítaní hodnôt zo súboru programu Excel pomocou príkazov SQL a FILLO API.
ako hrať súbory mkv na pc
Čo sa dozviete:
Prehľad rozhrania SON API
FILLO je rozhranie Java API, ktoré sa používa na načítanie údajov zo súborov Excel. S použitím FILLO API je parametrizácia veľmi ľahká, t. J. Spustenie testovacích prípadov v seléne s inou sadou údajov.
Predtým sme na parametrizáciu používali JXL API, neskôr na trh vstúpil apache POI a v obidvoch týchto API musíme napísať veľký kód, prechádzať riadky a stĺpce a načítať hodnoty uložené v excelovom hárku.
Ale teraz, s týmto novým API FILLO, sa nemusíte obávať veľkosti riadkov a stĺpcov, o všetko sa postará interne API. Musíte len zavolať triedy definované v API a deklarovať svoje testovacie údaje v súbore programu Excel. Dokumentáciu a stiahnutie súboru jar nájdete na oficiálnej stránke. Knižnica SON Java
Ak používate Maven, použite závislosť Maven.
Dóza FILLO so závislosťou Maven
začať
- Je to excel API pre jazyk Java.
- Podporuje súbory .xls a .xlsx.
- Podporuje dotazy SELECT, UPDATE a INSERT.
- Použiť s alebo bez klauzuly WHERE a LIKE.
Prevádzka povolená spoločnosťou Fillo
Vyberte operáciu: Príkaz SELECT vykonáva rovnakú funkciu, ako pri načítaní hodnôt z tabuľky a zobrazení koncovému používateľovi, rovnako tu príkaz SELECT vracia údaje z hárka programu Excel.
Syntax:
SELECT * From Sheet Name
AKTUALIZÁCIA operácie: Príkaz UPDATE upravuje existujúce záznamy v hárku programu Excel.
Syntax:
UPDATE sheet1 Set Column Name= ‘Value’
Prevádzka VLOŽIŤ: Príkaz INSERT vloží nový záznam do hárka programu Excel.
Syntax:
INSERT INTO Sheet Name (ColumnName1,ColumnName2) VALUES (‘Val1’,’Val2’)
Rovnaké operácie vykonávajte s operátormi WHERE a LIKE:
- „VYBERTE * z názvu listu, kde ID = 1 a meno =„ Ježiš ““
- „SELECT * from Sheet Name where column1 = value1 and column2 = value2 and column3 = value3“
- „AKTUALIZÁCIA Nastavený názov listu Krajina =„ Spojené kráľovstvo “, kde ID = 10 a meno =„ Ježiš ““
- „SELECT * from Sheet Name where Name like‘ Jes% '“
Kroky vykonania, ktoré treba dodržiavať pri operácii VÝBER / VLOŽIŤ / AKTUALIZOVAŤ:
# 1) // Vytvorenie objektu triedy Fillo.
Fillo fillo = new Fillo();
#dva) // Vytvorte triedu Object for Connection a pomocou metódy getConnection () definovanej vo vnútri triedy Fillo vytvorte spojenie medzi hárkom programu Excel a rozhraním Fillo API.
Connection connection = fillo.getConnection(”excelPath”);
# 3) // Vyberte všetky hodnoty nachádzajúce sa v hárku. Prítomní vo vnútri programu Excel a jeho výstup ukladajú do premennej reťazca.
String strSelectQuerry = 'Select * from SheetName';
# 4) // vykoná výberový dotaz a výsledok uloží do triedy Recordset v rozhraní Fillo API.
Recordset recordset =connection.executeQuery(strSelectQuerry);
# 5) // cyklus while použite na iteráciu cez všetky stĺpce a riadky dostupné v hárku vo vnútri súboru programu Excel.
while(recordset.next()){ // through getfield() method retrieve the data present in a particular column System.out.println(recordset.getField('Column1')); }
# 6) // Použite aktualizačný dotaz na aktualizáciu podrobností v súbore programu Excel.
String strUpdateQuerry = 'Update Data Set SiteTitle = 'SoftwareTestingHelp.com' '; connection.executeUpdate (strUpdateQuerry);
# 7) // Na vloženie údajov do hárka programu Excel použite príkaz Vložiť dotaz.
String strInsertQuerry = 'INSERT INTO Data (SiteTitle,SiteTopic) Values('Bharat','NewDelhi')'; connection.executeUpdate (strInsertQuerry);
# 8) // zatvorte sadu záznamov, aby ste sa vyhli úniku pamäte.
recordset. Close();
# 9) // zatvorte pripojenie, aby nedošlo k úniku pamäte.
connection. Close();
Teraz pomocou vyššie uvedených krokov v rámci selénu načítame hodnoty riadkov a stĺpcov uložených v súbore programu Excel, napr. „TestFile.xlsx“, a zadáme hodnotu do ukážkovej stránky: https://wordpress.com/start/about?ref=create-blog-lp
Hárok programu Excel s hodnotami riadkov: „Nový testovací pomocník“ a „Testing_Related_Contents“
Súbor Excel umiestnený v priečinku Project:
Selénový kód
Celý selénový kód, ktorý získava hodnotu z hárka programu Excel a vstupov do testovacieho miesta, je uvedený nižšie:
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')); } }
Snímka bežiaceho kódu
Výstup kódu, ktorý zobrazuje výsledok príkazu SQL:
Súbor Excel po vykonaní operácie Aktualizácia a Vloženie:
Demonštračný web, kde sme načítali údaje z programu Excel a vložili ich na web:
ako deklarovať zoznam v
Záver
- Fillo je veľmi užitočné java API na extrakciu dát z hárka programu Excel a podporuje súbory .xls aj .xlsx Excel.
- Podporuje výroky SELECT, UPDATE a INSERT.
- Pri úprave súboru programu Excel buďte opatrní. Ak nejaké riadky alebo stĺpce nie sú potrebné, odstráňte ich.
- Ak iba vymažete hodnoty z riadkov a stĺpcov bez toho, aby ste vymazali celý riadok, API bude predpokladať, že polia majú túto hodnotu a pokúsi sa načítať hodnotu z riadkov a stĺpcov a my na oplátku dostaneme prázdne hodnoty.
- Na záver nezabudnite ukončiť pripojenie, keď skončíte s načítaním hodnôt z programu Excel.
Príjemné čítanie !!
Odporúčané čítanie
- Úvod do softvéru Selenium WebDriver - Výučba selénu č. 8
- Top 25 príkazov selénu WebDriver, ktoré by ste mali vedieť
- 10 najlepších nástrojov na testovanie API v roku 2021 (nástroje na testovanie SOAP a REST API)
- Výukový program JAVA pre začiatočníkov: viac ako 100 praktických výučbových programov Java Video
- Najobľúbenejších 90 otázok a odpovedí na pohovory SQL (NAJNOVŠIE)
- 30+ najlepších návodov na selén: Naučte sa selén na skutočných príkladoch
- Vytváranie rámca selénu a prístup k testovacím údajom z Excelu - Výučba selénu č. 21
- Rámec riadený dátami v selenovom WebDriveri pomocou POI Apache