TestFly Bölüm 5: Cucumber 7 BDD Entegrasyonu, BaseCucumberSteps ve @retryable Etiketleri
Cucumber 7 BDD entegrasyonunu TestFly ile kurun. BaseCucumberTest runner sınıfı, BaseCucumberSteps yardımcıları ve @retryable etiket yönetimini öğrenin.
28 Ağustos 20261 dk okuma
TestFly ile Cucumber 7 BDD Entegrasyonu
TestFly, Cucumber 7 ile kutudan çıktığı gibi tam uyumlu çalışır:
- Otomatik Sürücü Yönetimi:
io.testfly.cucumber.CucumberHookstarafından yönetilir. - Adım Zaman Çizelgesi:
CucumberStepLoggerile doğrudan HTML raporuna akar. - Otomatik Ekran Görüntüleri: Hata anında yakalanıp rapora iliştirilir.
- Senaryo Bazlı Yeniden Deneme:
@retryableveya@retryable=Netiketleri.
1. Runner Sınıfı (BaseCucumberTest)
java
package com.yourcompany.bdd;
import io.cucumber.testng.CucumberOptions;
import io.testfly.cucumber.BaseCucumberTest;
@CucumberOptions(
features = "src/test/resources/features",
glue = {"com.yourcompany.bdd.steps", "io.testfly.cucumber"},
plugin = {"pretty", "io.testfly.cucumber.CucumberStepLogger"}
)
public class CucumberRunner extends BaseCucumberTest {}2. BaseCucumberSteps ile Adım Tanımları
java
package com.yourcompany.bdd.steps;
import io.cucumber.java.tr.Diyelimki;
import io.cucumber.java.tr.Eğer;
import io.cucumber.java.tr.O_zaman;
import io.testfly.cucumber.BaseCucumberSteps;
import org.openqa.selenium.By;
public class LoginAdimlari extends BaseCucumberSteps {
@Diyelimki("kullanıcı giriş sayfasındadır")
public void girisSayfasinda() {
open("/login");
}
@Eğer("kullanıcı adı {string} ve şifre {string} ile giriş yaparsa")
public void girisYap(String username, String password) {
find(By.id("username")).type(username);
find(By.id("password")).type(password);
find(By.id("submit")).click();
}
@O_zaman("dashboard ekranı görünür olmalıdır")
public void dashboardGorunur() {
assertThat(By.id("dashboard")).isVisible(); // otomatik bekleyen doğrulama
}
}3. Senaryo Bazlı Retry Etiketi
gherkin
@retryable=2
Senaryo: Dış ödeme servis entegrasyonu
Diyelim ki kullanıcı ödeme ekranındadır
Eğer geçerli kart bilgileri girilirse
O zaman ödeme onay kodu ekranda görünmelidir#TestFly#Cucumber#BDD#BaseCucumberTest#BaseCucumberSteps#Retryable#Java#SDET