Selenium 'da Cucumber (BDD Çerçeve Eğitimi)
⚡ Akıllı Özet
Selenium 'da Cucumber Bu, sade İngilizce Gherkin sözdizimini bir araya getiren güçlü bir Davranış Odaklı Gelişim (BDD) çerçevesi oluşturur. Selenium WebDriver otomasyonu. Bu eğitim, ön koşulları açıklıyor, üç uygulamalı senaryoyu ele alıyor ve özellik dosyalarının, adım tanımlarının ve bir TestRunner sınıfının tarayıcı testlerini yürütmek için nasıl entegre olduğunu gösteriyor.
Bu eğitimde nasıl entegre edileceğini öğreneceksiniz Cucumber 'da Selenium Okunabilir, bakımı kolay ve veri odaklı bir Davranış Odaklı Geliştirme (BDD) çerçevesi oluşturmak için WebDriver.
Nedir? Cucumber?
Cucumber Davranış Odaklı Geliştirme (BDD)'yi destekleyen bir test aracıdır. Uygulamanın davranışını Gherkin dilini kullanarak basit İngilizce metinle tanımlar; bu da geliştirici olmayanların programlama dili öğrenmeden test spesifikasyonlarına katkıda bulunmalarını sağlar. Daha fazla bilgi için web sitemizi ziyaret edin. Cucumber öğretici.
Nedir? Selenium?
Selenium Otomasyon için kullanılan bir araçtır. Fonksiyonel Testler web tabanlı uygulamalar. Selenium birden fazla programlama dilini destekler, bunlar arasında JavaYakut, Pythonve C# dillerini desteklemesi, farklı teknik geçmişlere sahip ekipler için doğal bir uyum sağlıyor. Daha fazla bilgi için sayfamızı ziyaret edin. Selenium öğretici.
Neden kullan Cucumber 'da Selenium?
Cucumber hem de Selenium En yaygın olarak kullanılan test teknolojilerinden ikisidir. Çoğu kuruluş zaten bunları kullanmaktadır. Selenium Fonksiyonel testler için ve katmanlama yapmak istiyorum. Cucumber üstte çünkü Cucumber Başvuru akışını okumayı ve anlamayı kolaylaştırır..
Cucumber Davranış Odaklı Gelişim çerçevesine dayanmaktadır. köprü görevi görüyor Aşağıdaki roller arasında:
- Yazılım Mühendisi ve İş Analisti.
- Manuel Test Cihazı ve Otomasyon Test Cihazı.
- Manuel Test Cihazı ve Geliştiriciler.
MKS Cucumber BDD çerçevesi ayrıca Müşterilerin uygulama kodunu anlamalarına yardımcı olur. Çünkü düz metin halinde olan Gherkin dilini kullanıyor. Kuruluştaki herkes yazılımın davranışını takip edebilir. Gherkin sözdizimi basit ve okunabilir İngilizce'dir, bu da teknik olmayan okuyucular için spesifikasyonu erişilebilir kılar.
Kullanım Ön Koşulları Cucumber 'da Selenium
Başlamadan önce Cucumber-Selenium Entegrasyon için aşağıdaki öğelere ihtiyacınız var:
Selenium kavanoz dosyaları:
- Selenium-sunucu-bağımsız
Bunları şu adresten indirebilirsiniz: https://www.selenium.dev/downloads/.
Jar dosyaları için Cucumber:
- Cucumber-çekirdek
- Cucumber-html
- Cobertura kod kapsamı
- Cucumber-Java
- Cucumber-junit
- Cucumber-jvm-deps
- Cucumber-raporlama
- Hamcrest-çekirdek
- salatalık
- JUnit
Bunları şu adresten indirebilirsiniz: https://mvnrepository.com/search?q=CucumberHer bir JAR dosyasını tek tek arayıp indirmeniz gerekecek.
Örneğin, "jar" dosyalarından birini şu şekilde indirebilirsiniz:Cucumber-core” kütüphanesi.
Yukarıdaki indirme bağlantısına tıklayın. Bu sizi Maven deposu sitesine yönlendirecektir. Şimdi belirli jar dosyasını arayın (bu durumda “Cucumber Aşağıdaki ekran görüntüsünde gösterildiği gibi "Çekirdek":
Sonraki sayfada, 1.2.2 sürümüne tıklayın:
Sonraki ekranda, dosyayı indirmek için İndir'e tıklayın. Cucumber Ana jar dosyası:
Not: Kolaylık sağlamak amacıyla, gerekli Maven jar dosyalarını bir araya getirdik. okuyunBu JAR dosyaları zamanla güncelliğini yitirebilir ve uyumsuz hale gelebilir, bu nedenle yukarıda açıklanan yöntemi kullanarak bunları kendiniz indirmenizi öneririz.
Otomasyon Testi Kullanarak Cucumber 'da Selenium
Şimdi nasıl kullanılacağına birlikte bakalım. Cucumber 'da Selenium Adım adım. Burada üç senaryoyu ele alacağız:
- Senaryo 1: Konsoldaki metni yazdırın.
- Senaryo 2: Giriş bilgilerini girin ve değeri sıfırlayın.
- Senaryo 3: Giriş kimlik bilgilerini girin Guru99'a eşitleyin ve değeri sıfırlayın — bu işlem 3 veri seti için tekrarlandı.
Senaryo 1: Konsola Metin Yazdırma
Bu senaryoda, konsola basitçe metin yazdırıyoruz. Cucumber.
) 1 Adım içinde bir proje oluşturun Eclipse.
Hat için bir Java adı olan proje "CucumberİleSeleniumbaşlıklı bir kılavuz yayınladı Aşağıdaki ekran görüntüsünde gösterildiği gibi.
) 2 Adım JAR dosyalarını projeye ekleyin.
Projeye sağ tıklayın > Özellikler > Java Derleme Yolu. Daha önce indirdiğiniz tüm kütüphaneleri ekleyin.
) 3 Adım Bir özellik dosyası oluşturun.
Bir özellik dosyası oluşturmak için öncelikle aşağıdaki ekran görüntüsünde gösterildiği gibi bir "Features" klasörü oluşturun.
Klasör adını "Features" olarak girin ve Bitir'e tıklayın.
Şimdi, Features klasörünün içine bir özellik dosyası oluşturun ve adını bu dosyadan alın. MyTest.özellikBu işlem, klasör oluşturmaya benzer.
Not: yüklemeniz gerekebilir Cucumber Eclipse Önce eklentiyi yükleyin. Yardım → Yeni Yazılım Yükle bölümüne gidin ve bağlantıyı yapıştırın. http://cucumber.github.io/cucumber-eclipse/update-site/ve yükleyin.
) 4 Adım Senaryoları yazın.
Aşağıdaki satırlar şu şekilde yazılmıştır: MyTest.özellik Gherkin dilini kullanarak:
Feature: Reset functionality on login page of Application
Scenario: Verification of Reset button
Given Open the Firefox and launch the application
When Enter the Username and Password
Then Reset the credential
Code açıklama
Satır 1) İşlevselliği tanımlar.
Satır 2) Test edilecek bir senaryo tanımlar.
Satır 3) Ön koşulu tanımlar (Verilen).
Satır 4) Gerçekleştirilecek eylemi tanımlar (Ne zaman).
Satır 5) Beklenen sonucu veya çıktıyı tanımlar (O zaman).
) 5 Adım Yaz Selenium TestRunner betiği için Cucumber Çerçeve tasarımı.
Hat için bir test koşucusu paket ve sonra bir Runner.java Altındaki sınıf dosyası.
package TestRunner;
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
@RunWith(Cucumber.class)
@CucumberOptions(features = "Features", glue = {"StepDefinition"})
public class Runner
{
}
Yukarıda Cucumber Java Örneğin, şunu çalıştırıyoruz: salatalık testi Aşağıdaki ek açıklamaları kullanarak:
@RunWith() anlatır JUnit Testlerimizi çalıştırmaya başlayan test çalıştırıcı sınıfı hakkında.
@CucumberSeçenekler() Bu ayar, özellik dosyası yolu ve adım tanımlama birleştirme paketi gibi test özelliklerini belirler.
TestRunner dosyasının ekran görüntüsü:
) 6 Adım Adım Tanımı betiğini oluşturun.
Şimdi bir Adım Tanımı paket ve sonra bir Adımlar.java Altında bir betik dosyası bulunur. Steps.java dosyasının içine şunları yazıyoruz: Selenium Her bir Gherkin adımına karşılık gelen mantık.
package StepDefinition;
import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;
public class Steps {
@Given("^Open the Firefox and launch the application$")
public void open_the_Firefox_and_launch_the_application() throws Throwable
{
System.out.println("This Step open the Firefox and launch the application.");
}
@When("^Enter the Username and Password$")
public void enter_the_Username_and_Password() throws Throwable
{
System.out.println("This step enter the Username and Password on the login page.");
}
@Then("^Reset the credential$")
public void Reset_the_credential() throws Throwable
{
System.out.println("This step click on the Reset button.");
}
}
Sınıfın adı Adımlar, ve Cucumber Ek açıklamalar, her yöntemi bir özellik dosyası adımına eşler:
@Verilen açma yöntemini tanımlar Firefox ve uygulamayı başlatın.
@Ne zaman Kullanıcı adı ve şifrenin girilme yöntemini tanımlar.
@Daha sonra Kimlik bilgilerini sıfırlama yöntemini tanımlar.
Her bir yöntem, konsola basitçe bir mesaj yazdırır.
Aşağıdaki ekran görüntüsü Steps.java betiğini ve proje ağacını göstermektedir:
Not: Adım tanımı, istediğiniz koddur. Cucumber Özellik dosyasındaki bir adımla eşleştiğinde yürütülecek.
) 7 Adım Komut dosyasını yürütün.
Aşağıda gösterildiği gibi, bu komut dosyasını TestRunner dosyasından (Runner.java) çalıştırın.
) 8 Adım Çıktıyı analiz edin.
Runner.java çalıştırıldığında, Cucumber Steps.java dosyasında tanımlanan metni konsola yazdırır.
Senaryo 2: Giriş Bilgilerini Girin ve Değeri Sıfırlayın
Burada kimlik bilgilerini giriyoruz. Guru99 demo giriş sayfası ve değeri sıfırlayın.
2. Senaryo için sadece güncelleme yapmamız gerekiyor. Adımlar.javaBurada gerçeği ekliyoruz. Selenium kod. Öncelikle şunlardan emin olun: Selenium JAR dosyası projeye eklendi.
) 1 Adım Steps.java dosyasını aşağıdaki gibi güncelleyin.
package StepDefinition;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;
public class Steps {
WebDriver driver;
@Given("^Open the Firefox and launch the application$")
public void open_the_Firefox_and_launch_the_application() throws Throwable
{
System.setProperty("webdriver.gecko.driver", "E://Selenium//Selenium_Jars//geckodriver.exe");
driver = new FirefoxDriver();
driver.manage().window().maximize();
driver.get("http://demo.guru99.com/v4");
}
@When("^Enter the Username and Password$")
public void enter_the_Username_and_Password() throws Throwable
{
driver.findElement(By.name("uid")).sendKeys("username12");
driver.findElement(By.name("password")).sendKeys("password12");
}
@Then("^Reset the credential$")
public void Reset_the_credential() throws Throwable
{
driver.findElement(By.name("btnReset")).click();
}
}
Yukarıdakilerin ekran görüntüsü Selenium senaryo:
) 2 Adım Komut dosyasını yürütün.
Steps.java dosyasını güncelledikten sonra Runner.java dosyasını çalıştırın.
) 3 Adım Çıktıyı analiz edin. Çıktıda şunları göreceksiniz:
- Tarayıcı başlatıldı.
- Guru99 numaralı bankanın demo sitesi açıldı.
- Kullanıcı adı ve şifre giriş sayfasında girilir.
- Sıfırla düğmesi değerleri temizler.
Senaryo 3: 3 Veri Kümesiyle Giriş ve Sıfırlama Akışını Çalıştırın
Burada her ikisini de güncellememiz gerekiyor. Adımlar.java ve aynı akışı üç farklı kimlik bilgisi setiyle yönlendirmek için kullanılan özellik dosyası.
) 1 Adım Özellik dosyasını aşağıda gösterildiği gibi güncelleyin.
Biz kullanın Senaryo Taslağı hem de Örnekler sözdizimi yani Cucumber Aynı senaryoyu her veri satırında tekrarlar.
Feature: Reset functionality on login page of Application
Scenario Outline: Verification of reset button with multiple credentials
Given Open the Firefox and launch the application
When Enter the Username <username> and Password <password>
Then Reset the credential
Examples:
| username | password |
| User1 | password1 |
| User2 | password2 |
| User3 | password3 |
) 2 Adım Steps.java dosyasını güncelleyin.
Burada, metot imzalarını Örnekler tablosundaki parametreleri kabul edecek şekilde güncelliyoruz.
package StepDefinition;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;
public class Steps {
WebDriver driver;
@Given("^Open the Firefox and launch the application$")
public void open_the_Firefox_and_launch_the_application() throws Throwable
{
System.setProperty("webdriver.gecko.driver", "E://Selenium//Selenium_Jars//geckodriver.exe");
driver = new FirefoxDriver();
driver.manage().window().maximize();
driver.get("http://demo.guru99.com/v4");
}
@When("^Enter the Username \"(.*)\" and Password \"(.*)\"$")
public void enter_the_Username_and_Password(String username, String password) throws Throwable
{
driver.findElement(By.name("uid")).sendKeys(username);
driver.findElement(By.name("password")).sendKeys(password);
}
@Then("^Reset the credential$")
public void Reset_the_credential() throws Throwable
{
driver.findElement(By.name("btnReset")).click();
}
}
) 3 Adım Güncellenen komut dosyasını çalıştırın.
Aşağıdaki ekran, başarılı bir yürütmeyi ve her veri kümesi için geçen süreyi göstermektedir.
) 4 Adım Çıktıyı analiz edin. Aşağıdaki adımlar, 3 veri kümesinin her biri için tekrarlanır:
- Tarayıcı başlatıldı.
- Guru99 numaralı bankanın demo sitesi açıldı.
- Kullanıcı adı ve şifre giriş sayfasında girilir.
- Sıfırla düğmesi değerleri temizler.
























