how read write data from excel sheet selenium web driver
У овом упутству научићете читање и писање података из Екцел датотеке у програму Селениум ВебДривер помоћу ФИЛЛО АПИ и СКЛ израза.
Читање или писање података једна је од најчешће коришћених операција, било преузимање вредности из табела базе података или преузимање вредности са Екцел листа и њихово коришћење за обављање аналитике.
У овом чланку говоримо о дохватању вредности из екцел датотеке помоћу СКЛ израза и ФИЛЛО АПИ-ја.
Шта ћете научити:
СОН АПИ преглед
ФИЛЛО је Јава АПИ који се користи за преузимање података из Екцел датотека. Коришћењем ФИЛЛО АПИ-ја параметрирање постаје врло лако, тј. Покретање тест случајева у Селенијуму са различитим скупом података.
Пре овога, користили смо ЈКСЛ АПИ за параметаризацију, касније је на тржиште изашао апацхе ПОИ, и у оба АПИ-ја морамо да напишемо велики код, да бисмо прешли редове и колоне и преузели вредности сачуване у екцел листу.
Али сада, са овим новим ФИЛЛО АПИ-јем, нема потребе да бринете о величини редова и колона, АПИ ће се за све побринути интерно. Потребно је само позвати класе дефинисане у АПИ-ју и пријавити своје тест податке у екцел датотеци. Погледајте документацију и преузимање јар датотеке на службеној страници- СОН Јава библиотека
Ако користите Мавен, онда користите зависност Мавен.
ФИЛЛО тегла са Мавен Депенденци
почетак
- То је екцел АПИ за Јава језик.
- Подржава .клс и .клск датотеке.
- Подржава СЕЛЕЦТ, УПДАТЕ и ИНСЕРТ упите.
- Користите са или без клаузуле ВХЕРЕ и ЛИКЕ.
Операција дозвољена са Филло
СЕЛЕЦТ операција: Израз СЕЛЕЦТ изводи исту функцију, као што то ради при дохватању вредности из табеле и приказивању крајњем кориснику, на исти начин на који овде израз СЕЛЕЦТ враћа податке са екцел листа.
Синтакса:
SELECT * From Sheet Name
УПДАТЕ Оператион: УПДАТЕ израз модификује постојеће записе у екцел листу.
Синтакса:
UPDATE sheet1 Set Column Name= ‘Value’
ИНСЕРТ Оператион: Изјава ИНСЕРТ убацује нови запис у Екцел лист.
Синтакса:
INSERT INTO Sheet Name (ColumnName1,ColumnName2) VALUES (‘Val1’,’Val2’)
Извршите исте операције са оператерима ВХЕРЕ и ЛИКЕ:
Питања и одговори за интервју за скл сервер 2012
- „СЕЛЕЦТ * фром Схеет Наме вхере ИД = 1 анд наме =’ Јесус '“
- “СЕЛЕЦТ * из назива листа где је колона1 = вредност1 и колона2 = вредност2 и колона3 = вредност3”
- „АЖУРИРАЈ Име назива државе Држава = 'УК' где је ИД = 10 и име = 'Исус'“
- „СЕЛЕЦТ * фром Схеет Наме вхере Наме лике 'Јес%'“
Кораци извршења које треба слиједити за операцију СЕЛЕЦТ / ИНСЕРТ / УПДАТЕ:
# 1) // Стварање објекта класе Филло.
Fillo fillo = new Fillo();
#два) // Креирајте објект за класу Цоннецтион и користите методу гетЦоннецтион () дефинисану унутар класе Филло да бисте успоставили везу између екцел листа и Филло АПИ-ја.
Connection connection = fillo.getConnection(”excelPath”);
# 3) // Изаберите све вредности присутне у листу. Они који су присутни у екцелу и његов излаз чувају у променљивој низа.
String strSelectQuerry = 'Select * from SheetName';
# 4) // извршавамо упит Селецт и складиштимо резултат у класи Рецордсет присутној у Филло АПИ-ју.
Recordset recordset =connection.executeQuery(strSelectQuerry);
# 5) // користимо вхиле петљу за прелазак кроз све колоне и редове доступне у листу који се налази у екцел датотеци.
while(recordset.next()){ // through getfield() method retrieve the data present in a particular column System.out.println(recordset.getField('Column1')); }
# 6) // Користите упит за ажурирање да бисте ажурирали детаље у екцел датотеци.
String strUpdateQuerry = 'Update Data Set SiteTitle = 'SoftwareTestingHelp.com' '; connection.executeUpdate (strUpdateQuerry);
# 7) // Користите Инсерт упит за уметање података у екцел лист.
String strInsertQuerry = 'INSERT INTO Data (SiteTitle,SiteTopic) Values('Bharat','NewDelhi')'; connection.executeUpdate (strInsertQuerry);
# 8) // затворимо скуп записа како бисмо избегли цурење меморије.
recordset. Close();
# 9) // затворите везу да бисте избегли цурење меморије.
connection. Close();
Користећи горње кораке, у оквиру Селениум, дохватићемо вредности редова и колона сачуваних у екцел датотеци, односно „ТестФиле.клск“, и унети вредност у демо локацију: хттпс://вордпресс.цом/старт/абоут?реф=цреате-блог-лп
Екцел лист са вредностима реда: „Нова испитна помоћ“ и „Тестинг_Релатед_Цонтентс“
Екцел датотека смештена у фасциклу Пројецт:
Селен код
Комплетни селенијски код, који преузима вредност са екцел листа и уноса на месту тестирања, дат је у наставку:
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')); } }
Снимак текућег кода
Излаз кода који приказује резултат СКЛ израза:
Екцел датотека након извршене операције ажурирања и уметања:
Демо веб локација на којој смо преузели податке из Екцела и уметнули је на веб локацију:
како доћи до лажне адресе е-поште
Закључак
- Филло је врло користан Јава АПИ за издвајање података из екцел листа и подржава и .клс и .клск Екцел датотеке.
- Подржава СЕЛЕЦТ, УПДАТЕ и ИНСЕРТ изразе.
- Будите пажљиви док уређујете екцел датотеку. Ако било који редови или колоне нису потребни, избришите их.
- Ако само избришете вредности из редова и колона без брисања целог реда, тада ће АПИ претпоставити да поља имају вредност и покушаће да преузме вредност из редова и колона, а заузврат ћемо добити празне вредности.
- Коначно, не заборавите да затворите везу када завршите са преузимањем вредности из екцела.
Срећно читање !!
Препоручено читање
- Увод у Селениум ВебДривер - Водич за селен бр. 8
- Топ 25 команди Селениум ВебДривер које бисте требали знати
- 10 најбољих алата за тестирање АПИ-ја у 2021. години (СОАП и РЕСТ АПИ алати за тестирање)
- Водич за ЈАВА за почетнике: 100+ практичних Јава видео водича
- Врхунских 90 питања и одговора за СКЛ интервју (НАЈНОВИЈЕ)
- 30+ најбољих водича за селен: научите селен на стварним примерима
- Израда оквира за селенијум и приступање тест подацима из програма Екцел - Туториал бр. 21
- Оквир вођен подацима у програму Селениум ВебДривер који користи Апацхе ПОИ