Tüm yazılar
test-automation

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 Bölüm 5: Cucumber 7 BDD Entegrasyonu, BaseCucumberSteps ve @retryable Etiketleri

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.CucumberHooks tarafından yönetilir.
  • Adım Zaman Çizelgesi: CucumberStepLogger ile doğrudan HTML raporuna akar.
  • Otomatik Ekran Görüntüleri: Hata anında yakalanıp rapora iliştirilir.
  • Senaryo Bazlı Yeniden Deneme: @retryable veya @retryable=N etiketleri.

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
Paylaş X LinkedIn

Yorumlar

  • Henüz yorum yok. İlk yorumu sen yaz.