2022'de Eclipse ile 32 Örnek Selenyum Projesi

Yayınlanan: 2021-01-04

Selenium, web testinin otomasyon bölümünde öne çıkan teknolojiler arasında yer alıyor. Selenium'u doğru kullanarak, test sürecinizi oldukça verimli hale getirebilir ve çok sayıda görevi kısa sürede tamamlayabilirsiniz.

Bu yüzden Selenyum öğrenmek büyük önem kazanmıştır. Bu makalede, Java tabanlı projeler için bir başka popüler teknoloji olan Eclipse ile bir Selenium projesi üzerinde nasıl çalışılacağını öğreneceksiniz.

İlk olarak, bu teknolojilerin temellerini tartışacağız. Ardından, Eclipse kullanarak bir Selenium projesine nasıl başlayabileceğinize bakacağız. Ayrıca ilham alabileceğiniz örnek bir proje paylaştık. Başlayalım.

İçindekiler

Selenyum nedir?

Selenium, taşınabilir bir çerçeve ve web uygulaması testi için popüler bir araçtır. Python, C# ve Java gibi çoklu programlama dilleriyle uyumludur. Bu dilleri Selenium ile test komut dosyası oluşturma gibi çeşitli görevleri gerçekleştirmek için kullanabilirsiniz. Yine de çoğu kullanıcı, diğerlerinden daha kullanıcı dostu olduğu için Java'yı bu çerçeveyle kullanmayı tercih ediyor.

Selenium tek bir yazılım uygulaması değildir. Farklı türde testler gerçekleştirmek için kullanabileceğiniz çeşitli araçlardan oluşan bir takımdır.

Selenium, paketinde aşağıdaki araçlara sahiptir:

  • Selenyum IDE (Entegre Geliştirme Ortamı)
  • Selenyum Web Sürücüsü
  • Selenyum İstemci API'sı
  • Selenyum Uzaktan Kumanda (Kullanımdan Kaldırıldı)
  • selenyum ızgara

Jason Huggins 2004 yılında Selenium'u yarattı. Tekrarlayan manuel test sürecini otomatikleştirmek istedi, bu yüzden bir JavaScript programı yaptı. Aynı program Selenium Core oldu. Jason dışında, diğer birçok geliştirici Selenium paketinin oluşturulmasına katkıda bulundu.

Neden Selenyum deniyor?

Selenyum, adını bir şakadan alır. Geliştirildiği sırada, Mercury Interactive adlı bir başka büyük otomatik test çerçevesi vardı. Jason şaka yollu arkadaşlarına Selenyum'u önerdi çünkü Selenyum Merkür zehirlenmesi için popüler bir panzehirdir. Arkadaşları öneriyi kabul ettiler ve ona şimdiki adını verdiler.

Selenyumun Özellikleri

Selenyum birçok özelliğe sahiptir; en öne çıkanları şunlardır:

  • Selenium, Chrome, Opera, Safari vb. dahil olmak üzere endüstrinin neredeyse tüm büyük tarayıcılarıyla uyumludur.
  • Bu süit, Selenese adı verilen belirli bir komut grubuna sahiptir. Her Selenium komutunun sırasını tutarlar.
  • Bir web sayfasındaki öğeleri Selenium'un öğe bulucuları aracılığıyla bulabilirsiniz.
  • Selenium'u masaüstü uygulamalarını veya mobil uygulamaları test etmek için kullanamazsınız. Yalnızca web uygulaması testi için kullanabilirsiniz.

Okuyun: Selenyum Proje Fikirleri

Maven nedir?

Maven, geliştiricilerin çoğunlukla Java projeleri için kullandığı bir otomasyon aracıdır. Java dışında, C#, Scala, Ruby, vb. gibi diğer birçok programlama dili ile kullanabilirsiniz. Apache Software Foundation'ın bir ürünüdür, dolayısıyla açık kaynaklı bir araçtır.

Maven, yapım sürecini çok daha basit hale getirir ve size tek tip bir yapı sistemi sağlar. Java geliştiricilerinin Java projeleri üzerinde çalışırken en iyi geliştirme uygulamalarını takip etmelerini sağlar. 2002 yılında sektöre girdi ve o zamandan beri en önemli Apache projelerinden biri haline geldi.

Maven, adını "bilgi biriktirici" anlamına gelen Yidişçe "maven" kelimesinden alır.

Maven'in Özellikleri

  • Maven, çeşitli projeler arasında tutarlılık sağlar
  • Modüller veya projeler için kazan levhası sağlayarak proje kurulumunu basitleştirir
  • Aynı anda birkaç proje ile çalışabilir
  • Maven, çoğu durumda komut dosyası oluşturmaya gerek kalmadan WAR veya JAR gibi belirli çıktı türlerine herhangi bir miktarda proje oluşturabilir.
  • POM'a (proje nesne modeli) dayanmaktadır.

Şimdi Selenium ve Maven'i tartıştığımıza göre Eclipse IDE'yi anlayalım. Eclipse ile bir Selenium projesinde çalışmak istiyorsanız, bu üçü hakkında bilgi sahibi olmak çok önemlidir.

Eclipse IDE'si nedir?

Eclipse, geliştiricilerin Selenium ve ilgili teknolojilerle çalışmasına yardımcı olan bir IDE'dir (entegre geliştirme ortamı). Eclipse'i C++, Ruby, Python, C, Perl, Java vb.'de uygulamalar geliştirmek için kullanabilirsiniz.

Eclipse IDE'nin Özellikleri

  • Açık kaynaklı bir araçtır, yani ücretsiz olarak kullanabilirsiniz.
  • Eclipse IDE'nin temel platformu birden fazla eklentiye sahiptir ve daha fazla eklenti ile genişletilebilir.
  • Eclipse'i ilgili eklentisini kullanarak herhangi bir programlama dili için bir IDE'ye dönüştürebilirsiniz.
  • JDT (Java Geliştirme Araçları) projesi, Eclipse'i Java IDE olarak kullanmak için bir eklenti sağlar. Benzer şekilde PyDev, Eclipse'i Python IDE olarak kullanmanıza izin veren bir eklentidir.
  • IDE'ler, istemci uygulamaları vb. oluşturmak için Eclipse platformunu ve eklentilerini kullanabilirsiniz.

Eclipse IDE ile Selenyum Projesi Nasıl Oluşturulur

Yazımızın bu bölümünde Eclipse ile nasıl Selenium projesi oluşturabileceğinize bakacağız. Bu, bir Selenium projesi üzerinde çalışmanın ilk adımıdır ve birçok yeni başlayan kişi bununla mücadele eder.

Eclipse aracılığıyla bir Selenium projesi oluşturabilmeniz için sisteminizde Maven ve TestNG'nin kurulu olması gerekir. Bu işleme başlamadan önce bunları (Maven ve TestNG) yüklediğinizden emin olun.

Aşama 1:

Eclipse'i açın ve Paket Gezgini bölümüne sağ tıklayın. Bir menü açılır penceresi görürsünüz. “Diğer…” seçeneğini seçmek için başka bir menü açacak olan 'Yeni' düğmesini seçin.

Adım 2:

“Diğer…” butonuna tıkladığınızda yeni bir pencere açılacaktır. Maven Projesini seçin ve ardından 'İleri' düğmesine tıklayın.

Aşama 3:

Şimdi yeni bir pencere görünecektir. Burada "Basit bir proje oluştur (arketip seçimini atla)" kutusunu işaretlemeniz gerekiyor. Bundan sonra, "İleri" düğmesini seçin.

4. Adım:

Bu bölümde, Grup Kimliği ve Artifact Kimliği'ni girmeniz gerekir. Her ikisi de projenizin adlandırılması için hayati öneme sahiptir. Grup Kimliği, projenizi diğer tüm projeler arasında tanımlamanıza yardımcı olacaktır. Paket adı kurallarına uymalıdır. Bu, kontrol ettiğiniz bir ters etki alanı adıyla başlaması gerektiği anlamına gelir. Maven bu adlandırma kuralını uygulamıyor; ancak, aracın büyük popülaritesi nedeniyle, bu kuralı takip etmek yaygın bir uygulama haline geldi. Bir Grup Kimliği ile de birden çok alt grup oluşturabilirsiniz.

Artifact Id, kavanozunuzun sürümü olmayan adıdır. Yaratıcısıysanız, garip semboller kullanmadığınız ve sadece küçük harfler kullandığınız sürece istediğiniz ismi seçebilirsiniz.

Projeniz için Grup Kimliği ve Artifact Kimliği girerken yukarıdaki noktaları aklınızda bulundurun. Bu bilgileri girdikten sonra “Bitir” butonuna tıklayın.

Adım 5:

Projemiz için gerekli bağımlılıkları POM dosyasına ekleyelim. pom.xml dosyasına gidin ve Eclipse'de 'pom.xml' sekmesini seçin. Şimdi TestNG ve Selenium WebDriver ile ilgili bağımlılıkları ekleyin.

Adım #6:

Bu adımda bir TestNG sınıfı oluşturarak bir testng.xml dosyası alın. Bu dosyaya aşağıdaki kodu kopyalayın:

paket testleri;

org.openqa.selenium.WebDriver'ı içe aktarın;

org.openqa.selenium.firefox.FirefoxDriver'ı içe aktarın;

org.testng.annotations.Test'i içe aktarın;

org.testng.annotations.BeforeClass'ı içe aktar;

org.testng.annotations.AfterClass'ı içe aktar;

genel sınıf YeniTest {

genel Web Sürücüsü sürücüsü;

@Ölçek

genel geçersiz openMyBlog() {

driver.get(“https://www.softwaretestingmaterial.com/”);

}

@Dersten önce

public void BeforeClass() {

System.setProperty(“webdriver.gecko.driver”, “D:\\Selenium\\Drivers\\geckodriver.exe”);

sürücü = yeni FirefoxDriver();

}

@Dersten sonra

public void afterClass() {

sürücü.quit();

}

}

Adım #7:

Artık Selenium projenizi Eclipse ile TestNG dosyasını kullanarak çalıştırabilirsiniz.

Bir sonrakine geçmeden önce yukarıdaki öğreticiyi anladığınızdan emin olun. Bunun nedeni, aşağıdaki bölümde Eclipse kullanarak oluşturabileceğiniz bir Selenium projesinin çalışan bir örneğini tartışacağız.

Ayrıca Okuyun: Hindistan'da Selenyum Geliştirici Maaşı

Dünyanın En İyi Üniversitelerinden Yazılım Geliştirme Kursu Alın . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

Eclipse ile Selenyum Projesi: Bir Örnek

Selenium tabanlı bir uçuş rezervasyon çözümünün kodunu burada paylaştık. Yazılım, uçuş için varış ve kalkış konumlarını tarih ile birlikte seçer. Bu araç, MakeMyTrip web sitesinde bu görevleri gerçekleştirir.

Eclipse ile benzer bir Selenium projesi oluşturmak için bu projeden ilham alabilirsiniz. Daha önce bir Selenium projesinde çalışmadıysanız, öncelikle bu projenin daha küçük bir versiyonu üzerinde çalışmanızı öneririz.

Örneğin, yalnızca varış ve ayrılış konumlarını seçen bir program oluşturabilirsiniz. Öte yandan, bu projeyi genişletmek istiyorsanız, daha fazla işlevsellik ekleyebilirsiniz.

tarayıcı

paket tarayıcı;

org.openqa.selenium.WebDriver'ı içe aktarın;

org.openqa.selenium.chrome.ChromeDriver'ı içe aktarın;

public class BrowserSelection

{

statik Web Sürücüsü sürücüsü;

Chrome() Kullanan genel statik Web Sürücüsü

{

System.setProperty(“webdriver.chrome.driver”, “E:\\SeleniumLibs\\\\chromedriver_win32\\chromedriver.exe”);

sürücü = yeni ChromeDriver();

driver.manage().window().maximize();

dönüş sürücüsü;

}

}

kod

paket makemytrip;

java.awt.AWTException'ı içe aktarın;

java.awt.Robot'u içe aktar;

java.awt.event.KeyEvent'i içe aktarın;

java.util.List'i içe aktar;

java.util.concurrent.TimeUnit'i içe aktarın;

içe aktar org.openqa.selenium.By;

org.openqa.selenium.JavascriptExecutor'ı içe aktarın;

org.openqa.selenium.WebDriver'ı içe aktarın;

org.openqa.selenium.WebDriverException'ı içe aktarın;

org.openqa.selenium.WebElement'i içe aktarın;

org.testng.annotations.AfterMethod'u içe aktarın;

org.testng.annotations.BeforeMethod'u içe aktarın;

org.testng.annotations.Test'i içe aktarın;

tarayıcıyı içe aktar.BrowserSelection;

genel sınıf MakeMyTripProject

{

Web Sürücüsü sürücüsü;

@ÖnceYöntem

genel geçersiz OpenBrowser()

{

sürücü = BrowserSelection.UsingChrome();

}

@Ölçek

public void TripDetails(), InterruptedException, AWTException'ı atar

{

driver.get(“https://www.makemytrip.com/”);

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

thread.sleep(5000);

denemek

{

/*String frameStatus = driver.findElement(By.id(“webklipper-publisher-widget-container-notification-frame”)).getTagName();

System.out.println(frameStatus);

driver.switchTo().frame(“bildirim-frame-31764456”);

driver.findElement(By.xpath(“.//*[@id='webklipper-publisher-widget-container-notification-close-div']/i”)).click();

driver.switchTo().defaultContent();

thread.sleep(3000); */

driver.findElement(By.xpath(“//input[@id='hp-widget__sfrom']”)).click();

driver.findElement(By.xpath(“//input[@id='hp-widget__sfrom']”)).clear();

//driver.findElement(By.xpath(“//input[@id='hp-widget__sfrom']”)).sendKeys(“Goa”);

Thread.sleep(2000);

List<WebElement> fromCities = driver.findElements(By.xpath(“//ul[@id='ui-id-1′]/li/div/p/span[1]”));

System.out.println(fromCities.size()+”\n”);

for(int i=0;i<fromCities.size();i++)

{

WebElement öğesi=fromCities.get(i);

System.out.println(element.getAttribute(“innerHTML”));

}

//driver.findElement(By.xpath(“//ul[@id='ui-id-1′]/li/div/p/span”)).click();

driver.findElement(By.xpath(“//li[içerir(@aria-label,'En İyi Şehirler : Goa, Hindistan ')]/div/p/span[1]”)).click();

driver.findElement(By.xpath(“//input[@id='hp-widget__sTo']”)).click();

driver.findElement(By.xpath(“//input[@id='hp-widget__sTo']”)).clear();

//driver.findElement(By.xpath(“//input[@id='hp-widget__sTo']”)).sendKeys(“Mumbai”);

Thread.sleep(2000);

List<WebElement> toCities = driver.findElements(By.xpath(“//ul[@id='ui-id-2′]/li/div/p/span[1]”));

System.out.println(toCities.size()+”\n”);

for(int i=0;i<toCities.size();i++)

{

WebElement öğesi=toCities.get(i);

System.out.println(element.getAttribute(“innerHTML”));

}

//driver.findElement(By.xpath(“//ul[@id='ui-id-2′]/li/div/p/span”)).click();

driver.findElement(By.xpath(“//ul[@id='ui-id-2′]/li[3]/div/p/span[1]”)).click();

Thread.sleep(2000);

driver.findElement(By.xpath(“//input[@id='hp-widget__depart']”)).click();

Thread.sleep(2000);

Dize tarihi = “10-EKİM-2018”;

Dize ayırıcı[] = tarih.split(“-“);

Dize ay_yıl = ayırıcı[1];

String gün = ayırıcı[0];

System.out.println(ay_yıl);

System.out.println(gün);

selectDate(ay_yıl,gün);

thread.sleep(3000);

driver.findElement(By.xpath(“//button[@id='searchBtn']”)).click();

thread.sleep(5000);

Thread.sleep(2000);

JavascriptExecutor js = (JavascriptExecutor) sürücüsü;

js.executeScript(“window.scrollBy(0,3000)”);

/*Robot robot = yeni Robot();

robot.keyPress(KeyEvent.VK_PAGE_DOWN);

robot.keyRelease(KeyEvent.VK_PAGE_DOWN);*/

thread.sleep(5000);

driver.findElement(By.xpath(“//div[@id='aln_AI_dep']/span[3]”)).click();

thread.sleep(5000);

List<WebElement> uçuşlar = driver.findElements(By.xpath(“//div[@class='top_first_part clearfix']/div/span/span[2]/span[1]”));

System.out.println(“Air India uçuş arama sonuçlarının sayısı: —“+flights.size());

}yakala(WebDriverException e)

{

System.out.println(“İstisna: —“+e+”\n”);

}

}

public void selectDate(String ay yılı, String Selectday) InterruptedException'ı atar

{

List<WebElement> öğeleri = driver.findElements(By.xpath(“//div[@class='ui-datepicker-title']/span[1]”));

(int i=0; i<elements.size();i++) için

{

System.out.println(elements.get(i).getText());

// Ayın seçilmesi

if(elements.get(i).getText().equals(ayyıl))

{

//Tarihin seçilmesi

List<WebElement> gün = driver.findElements(By.xpath(“//div[@class='ui-datepicker-inline ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui) -datepicker-multi ui-datepicker-multi-2′]/div[2]/table/tbody/tr/td/a"));

(WebElement d:gün) için

{

System.out.println(d.getText());

if(d.getText().equals(Selectday))

{

d.klik();

thread.sleep(10000);

dönüş;

}

}

}

}

driver.findElement(By.xpath(“//div[@class='ui-datepicker-inline ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui-datepicker-multi ui- datapicker-multi-2′]/div[2]/div/a/span”)).click();

selectDate(ayyıl,Seçim günü);

}

@AfterMethod

genel boşluk CloseBrowser()

{

sürücü.quit();

}

}

Okuyun: Yeni Başlayanlar İçin 5 İlginç Selenyum Projesi Fikri ve Konusu

Eclipse ve Daha Fazlasıyla Selenyum Projesi Oluşturmayı Öğrenin

Selenyum oldukça hayati bir teknolojidir. Bunu öğrenmek, yetkin bir yazılım test uzmanı olmanıza yardımcı olacaktır. Daha fazla okumanız için Selenium ve Maven hakkında bazı ek kaynaklar:

  • Maven Projeleri Nasıl Oluşturulur
  • 5 İlginç Selenyum Proje Fikri
  • 30 Selenyum Mülakat Sorusu ve Cevapları

Selenyum veya yazılım testi hakkında daha fazla bilgi edinmek istiyorsanız, bir bilgisayar bilimi kursu almanızı öneririz. Etkileşimli testler, problemler ve projeler aracılığıyla endüstriden alıntılardan bilgi edineceksiniz.

Umarız bu kılavuzu faydalı bulmuşsunuzdur. Bu makale veya Selenyum ile ilgili herhangi bir sorunuz varsa, lütfen aşağıdaki yorum bölümünden bize sorun. Sizden haber almak isteriz.

Full-stack yazılım geliştirme hakkında daha fazla bilgi edinmek istiyorsanız, upGrad & IIIT-B'nin çalışan profesyoneller için tasarlanmış ve 500+ saatlik sıkı eğitim, 9+ proje sunan Full-stack Yazılım Geliştirmede Yönetici PG Programına göz atın. ve görevler, IIIT-B Mezunları durumu, pratik uygulamalı bitirme projeleri ve en iyi firmalarla iş yardımı.

Geleceğin Kariyerine Hazırlanın

Yazılım Mühendisliği Yüksek Lisans Programına Hemen Başvur