BaseTest
BaseTest, tüm TestFly testleri için zorunlu üst sınıftır (superclass). Onu genişletmek, gereken tek kurulumdur.
Kullanım
import io.testfly.test.BaseTest;
import org.testng.annotations.Test;
public class LoginTest extends BaseTest {
@Test
public void loginTest() {
open(); // navigate to baseUrl
// test steps
}
}
BaseTest ne yapar
SuiteExecutionListenerkaydeder (framework başlatma, yapılandırma yükleme, rapor üretimi)TestExecutionListenerkaydeder (driver oluşturma, hata durumunda ekran görüntüsü, metrik kaydı)- Testlerin
WebDriverveya yapılandırmayla asla doğrudan etkileşime girmemesi için yardımcı metodlar sağlar
Kullanılabilir metodlar
open()
Tarayıcıyı testfly.yml içinde yapılandırılan baseUrl adresine götürür.
open(); // → browser.get(config.execution.baseUrl)
open(String path)
baseUrl + path adresine gider.
open("/login"); // → browser.get("https://your-app.com/login")
open("/admin"); // → browser.get("https://your-app.com/admin")
getDriver()
Geçerli thread'e bağlı WebDriver örneğini döndürür.
WebDriver driver = getDriver();
uyarı
Test kodunuzda asla driver.quit() veya new ChromeDriver() çağırmayın.
Framework, driver yaşam döngüsünü yönetir — her testten önce oluşturur ve sonrasında kapatır.
Kurallar
| Kural | Gerekçe |
|---|---|
WebDriver'ı manuel oluşturmayın | Framework yaşam döngüsünü yönetir |
driver.quit() çağırmayın | Sonraki adımlarda oturum hatalarına neden olur |
Thread.sleep() kullanmayın | Bunun yerine WaitEngine kullanın |
@AfterMethod içinde retry yönetmeyin | Framework retry'ı otomatik olarak yönetir |