how read write data from excel sheet selenium web driver
V tomto kurzu se naučíte číst a zapisovat data ze souboru Excel v selenu WebDriver pomocí příkazů FILLO API a SQL.
Čtení nebo zápis dat je jednou z nejčastěji používaných operací, a to buď načítání hodnot z databázových tabulek nebo načítání hodnot z listu aplikace Excel a jejich použití pro provádění analytiky.
V tomto článku hovoříme o načítání hodnot ze souboru aplikace Excel pomocí příkazů SQL a FILLO API.
Co se naučíte:
Přehled SON API
FILLO je rozhraní Java API, které se používá k načítání dat ze souborů Excel. S použitím FILLO API je parametrizace velmi snadná, tzn. Spuštění testovacích případů v selenu s jinou sadou dat.
Před tím jsme k provádění parametrizace používali JXL API, později na trh přišel POI apache a v obou těchto API musíme psát velký kód, procházet řádky a sloupce a načítat hodnoty uložené v listu aplikace Excel.
Ale teď, s tímto novým FILLO API, se nemusíte starat o velikost řádků a sloupců, o všechno se postará interně API. Musíte jen zavolat třídy definované v API a deklarovat svá testovací data v souboru aplikace Excel. Dokumentaci a stažení souboru jar naleznete na oficiálním webu - SON knihovna Java
Pokud používáte Maven, použijte závislost Maven.
Sklenice FILLO se závislostí Maven
Start
- Je to excel API pro jazyk Java.
- Podporuje soubory .xls a .xlsx.
- Podporuje dotazy SELECT, UPDATE a INSERT.
- Použít s nebo bez klauzule WHERE a klauzule LIKE.
Provoz povolen s Fillo
VÝBĚR operace: Příkaz SELECT provádí stejnou funkci, jako při načítání hodnot z tabulky a zobrazení koncovému uživateli, stejně jako v tomto případě příkaz SELECT vrací data z listu aplikace Excel.
zadaná IP adresa brány není platná
Syntaxe:
SELECT * From Sheet Name
UPDATE operace: Příkaz UPDATE upravuje stávající záznamy v listu aplikace Excel.
mobilní testovací otázky a odpovědi
Syntax:
UPDATE sheet1 Set Column Name= ‘Value’
VLOŽTE provoz: Příkaz INSERT vloží nový záznam do listu aplikace Excel.
Syntax:
INSERT INTO Sheet Name (ColumnName1,ColumnName2) VALUES (‘Val1’,’Val2’)
Proveďte stejné operace s operátory WHERE a LIKE:
- „SELECT * from Sheet Name where ID = 1 and name =‘ Jesus '“
- „SELECT * from Sheet Name where column1 = value1 and column2 = value2 and column3 = value3“
- „AKTUALIZACE Nastavit název listu Země =„ UK “, kde ID = 10 a name =„ Ježíš ““
- „SELECT * from Sheet Name where Name like‚ Jes% '“
Kroky provedení, které je třeba dodržet pro operaci VÝBĚR / VLOŽENÍ / AKTUALIZACE:
# 1) // Vytvořit objekt třídy Fillo.
Fillo fillo = new Fillo();
#dva) // Vytvořte třídu Object for Connection a použijte metodu getConnection () definovanou ve třídě Fillo k navázání spojení mezi listem aplikace Excel a Fillo API.
Connection connection = fillo.getConnection(”excelPath”);
# 3) // Vyberte všechny hodnoty obsažené v listu. Ti, kteří jsou uvnitř aplikace Excel, a ukládají svůj výstup do řetězcové proměnné.
String strSelectQuerry = 'Select * from SheetName';
# 4) // provést výběrový dotaz a uložit výsledek do třídy Recordset přítomné v API Fillo.
Recordset recordset =connection.executeQuery(strSelectQuerry);
# 5) // použijte while smyčku k iteraci všemi sloupci a řádky dostupnými v listu přítomném uvnitř souboru aplikace Excel.
while(recordset.next()){ // through getfield() method retrieve the data present in a particular column System.out.println(recordset.getField('Column1')); }
# 6) // Použijte aktualizační dotaz k aktualizaci podrobností v souboru aplikace Excel.
String strUpdateQuerry = 'Update Data Set SiteTitle = 'SoftwareTestingHelp.com' '; connection.executeUpdate (strUpdateQuerry);
# 7) // Použijte Vložit dotaz k vložení dat do listu aplikace Excel.
String strInsertQuerry = 'INSERT INTO Data (SiteTitle,SiteTopic) Values('Bharat','NewDelhi')'; connection.executeUpdate (strInsertQuerry);
# 8) // zavřete sadu záznamů, abyste zabránili úniku paměti.
recordset. Close();
# 9) // zavřete připojení, abyste zabránili úniku paměti.
connection. Close();
Nyní pomocí výše uvedených kroků v rámci selenu načteme hodnoty řádků a sloupců uložených v souboru aplikace Excel, tj. „TestFile.xlsx“, a zadáme hodnotu na ukázkovém webu: https://wordpress.com/start/about?ref=create-blog-lp
List aplikace Excel s hodnotami řádků: „Nová nápověda k testu“ a „Testing_Related_Contents“
Soubor Excel umístěný ve složce Project:
Selenový kód
Kompletní kód selenu, který načte hodnotu z listu aplikace Excel a vstupů na testovacím místě, je uveden níže:
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')); } }
Snapshot běžícího kódu
Výstup kódu, který zobrazuje výsledek příkazu SQL:
Soubor Excel po provedení operace aktualizace a vložení:
jak odstranit prvek z pole java
Demonstrační web, kde jsme načetli data z aplikace Excel a vložili je na web:
Závěr
- Fillo je velmi užitečné java API pro extrakci dat z listu aplikace Excel a podporuje soubory .xls i .xlsx Excel.
- Podporuje příkazy SELECT, UPDATE a INSERT.
- Při úpravách souboru aplikace Excel buďte opatrní. Pokud některé řádky nebo sloupce nejsou povinné, pak je odstraňte.
- Pokud pouze vymažete hodnoty z řádků a sloupců, aniž byste odstranili celý řádek, API předpokládá, že pole mají hodnotu a pokusí se načíst hodnotu z řádků a sloupců a na oplátku dostaneme prázdné hodnoty.
- Nakonec nezapomeňte ukončit připojení, jakmile dokončíte načítání hodnot z aplikace Excel.
Šťastné čtení!!
Doporučené čtení
- Úvod do selenu WebDriver - Selenium Tutorial # 8
- Top 25 selenových WebDriver příkazů, které byste měli vědět
- 10 nejlepších nástrojů pro testování API v roce 2021 (nástroje pro testování API SOAP a REST)
- Výukový program JAVA pro začátečníky: 100+ praktických výukových programů Java Video
- Top 90 SQL Interview Questions and Answer Answer (LATEST)
- 30+ nejlepších návodů na selen: Naučte se selen se skutečnými příklady
- Vytváření rámce selenu a přístup k testovacím datům z aplikace Excel - Selenium Tutorial # 21
- Rámec řízený daty v selenu WebDriver pomocí POI Apache