how read write data from excel sheet selenium web driver
Bu Öğreticide, FILLO API ve SQL ifadelerini Kullanarak Selenium WebDriver'daki bir Excel Dosyasından Veri Okumayı ve Yazmayı Öğreneceksiniz.
Veri okumak veya yazmak, ya veritabanı tablolarından değerler almak ya da bir excel sayfasından değerleri almak ve bunları analitik gerçekleştirmek için kullanmak gibi en yaygın kullanılan işlemlerden biridir.
Bu yazıda SQL deyimleri ve FILLO API kullanarak bir excel dosyasından değerlerin alınmasından bahsedeceğiz.
Ne öğreneceksin:
SON API'ye Genel Bakış
FILLO, Excel Dosyalarından veri almak için kullanılan bir Java API'sidir. FILLO API kullanımıyla, parametrelendirme çok kolay hale gelir, yani test durumlarınızı Selenium'da farklı bir veri setiyle çalıştırmak.
Bundan önce, parametrelendirme yapmak için JXL API'yi kullandık, daha sonra apache POI piyasaya girdi ve bu API'lerin her ikisinde de satırları ve sütunları dolaşmak ve bir excel sayfasında saklanan değerleri almak için büyük kod yazmamız gerekiyor.
Ancak şimdi, bu yeni FILLO API ile satırların ve sütunların boyutu hakkında endişelenmenize gerek yok, her şey API tarafından dahili olarak halledilecek. Sadece API'de tanımlanan sınıfları çağırmanız ve test verilerinizi excel dosyasında belirtmeniz yeterlidir. Jar dosyasının dokümantasyonu ve indirilmesi için resmi siteye bakın. SON Java Kitaplığı
Maven kullanıyorsanız, Maven bağımlılığını kullanın.
Maven Bağımlılığı ile FILLO kavanoz
Başlat
- Java dili için bir excel API'sidir.
- .Xls ve .xlsx dosyalarını destekler.
- SELECT, UPDATE ve INSERT sorgularını destekler.
- WHERE yan tümcesi ve LIKE yan tümcesi ile veya olmadan kullanın.
Fillo ile İşleme İzin Verildi
SELECT İşlemi: SELECT deyimi, bir tablodan değerlerin alınması ve son kullanıcıya gösterilmesinde olduğu gibi aynı işlevi gerçekleştirir, burada da aynı şekilde SELECT ifadesi bir excel sayfasından veri döndürür.
Sözdizimi:
SELECT * From Sheet Name
GÜNCELLEME İşlemi: UPDATE deyimi, excel sayfasındaki mevcut kayıtları değiştirir.
Sözdizimi:
UPDATE sheet1 Set Column Name= ‘Value’
INSERT İşlemi: INSERT ifadesi bir excel sayfasına yeni bir kayıt ekler.
3 yıllık deneyim için pl sql mülakat soruları
Sözdizimi:
INSERT INTO Sheet Name (ColumnName1,ColumnName2) VALUES (‘Val1’,’Val2’)
WHERE ve LIKE operatörleriyle aynı işlemleri gerçekleştirin:
- 'ID = 1 ve name =' Jesus 'olan Sayfa Adından' SEÇİN * '
- 'Sayfa Adından SEÇ * burada sütun1 = değer1 ve sütun2 = değer2 ve sütun3 = değer3'
- 'UPDATE Sheet Name Set Country =’ UK ’, burada ID = 10 ve name =’ Jesus '
- 'Sayfa Adından * SEÇİN; burada Adın 'Jes%' gibi'
SELECT / INSERT / UPDATE Operasyonu İçin İzlenecek Yürütme Adımları:
# 1) // Fillo Sınıfı Nesnesi Oluşturun.
Fillo fillo = new Fillo();
#iki) // Bir Object for Connection sınıfı oluşturun ve excel sayfası ile Fillo API'leri arasında bağlantı kurmak için Fillo sınıfı içinde tanımlanan getConnection () yöntemini kullanın.
Connection connection = fillo.getConnection(”excelPath”);
# 3) // Bir sayfada bulunan tüm değerleri seçin. Excel içinde bulunanlar ve çıktısını bir dize değişkeninde saklar.
String strSelectQuerry = 'Select * from SheetName';
# 4) // Select sorgusunu yürütün ve sonucu Fillo API'sinde bulunan bir Recordset sınıfında saklayın.
Recordset recordset =connection.executeQuery(strSelectQuerry);
# 5) // excel dosyasında bulunan sayfada bulunan tüm sütunlar ve satırlar arasında yineleme yapmak için while döngüsünü kullanın.
while(recordset.next()){ // through getfield() method retrieve the data present in a particular column System.out.println(recordset.getField('Column1')); }
# 6) // Excel dosyasındaki ayrıntıları güncellemek için bir güncelleme sorgusu kullanın.
String strUpdateQuerry = 'Update Data Set SiteTitle = 'SoftwareTestingHelp.com' '; connection.executeUpdate (strUpdateQuerry);
# 7) // Excel sayfasına veri eklemek için Sorgu ekle'yi kullanın.
String strInsertQuerry = 'INSERT INTO Data (SiteTitle,SiteTopic) Values('Bharat','NewDelhi')'; connection.executeUpdate (strInsertQuerry);
# 8) // bellek sızıntısını önlemek için kayıt kümesini kapatın.
recordset. Close();
# 9) // bellek sızıntısını önlemek için bağlantıyı kapatın.
connection. Close();
Şimdi yukarıdaki adımları kullanarak, Selenium çerçevesinde, 'TestFile.xlsx' gibi bir excel dosyasında depolanan satırların ve sütunların değerlerini alacağız ve değeri bir demo sitesine gireceğiz: https://wordpress.com/start/about?ref=create-blog-lp
Satır değerlerine sahip Excel sayfası: 'Yeni Test Yardımı' ve 'Test_Related_Contents'
Proje klasörüne yerleştirilen Excel dosyası:
Selenyum Kodu
Excel sayfasından değeri ve test sitesindeki girdileri alan eksiksiz Selenyum kodu aşağıda verilmiştir:
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')); } }
Çalışan kodun anlık görüntüsü
SQL ifadesi sonucunu gösteren kod çıktısı:
Güncelle ve Ekle işlemi gerçekleştirildikten sonra Excel dosyası:
Excel'den veri aldığımız ve siteye eklediğimiz demo web sitesi:
mülakat soruları ve cevaplarını destekler
Sonuç
- Fillo, bir excel sayfasından veri çıkarmak için çok kullanışlı bir java API'sidir ve hem .xls hem de .xlsx Excel dosyalarını destekler.
- SELECT, UPDATE ve INSERT deyimlerini destekler.
- Excel dosyasını düzenlerken dikkatli olun. Herhangi bir satır veya sütun gerekmiyorsa bunları silin.
- Satır ve sütunlardaki değerleri tüm satırı silmeden silerseniz, API alanların değere sahip olduğunu varsayacak ve değeri satırlardan ve sütunlardan almaya çalışacak ve karşılığında boş değerler alacağız.
- Son olarak, değerleri excel'den getirdikten sonra bağlantıyı kapatmayı unutmayın.
Mutlu Okumalar !!
Önerilen Kaynaklar
- Selenium WebDriver'a Giriş - Selenium Eğitimi # 8
- Bilmeniz Gereken En İyi 25 Selenium WebDriver Komutları
- 2021'deki En İyi 10 API Test Aracı (SOAP ve REST API Test Araçları)
- Yeni Başlayanlar İçin JAVA Eğitimi: 100+ Uygulamalı Java Video Eğitimi
- En İyi 90 SQL Mülakat Soruları ve Cevapları (EN SON)
- 30+ En İyi Selenyum Öğreticisi: Gerçek Örneklerle Selenyum Öğrenin
- Selenium Framework Oluşturma ve Excel'den Test Verilerine Erişme - Selenium Tutorial # 21
- Apache POI Kullanan Selenium WebDriver'da Veriye Dayalı Çerçeve