Middle+
Page Object-dən sonra ən vacib nümunə hansıdır?
sobes.tech Süni İntellekt
AI-dan cavab
Fabrika Metodu.
Müştəri kodunda konkret sinfi göstərmədən obyektlər yaratmağa imkan verir. Bu, avtomatlaşdırılmış testlərin çevikliyi və genişləndirilməsi üçün vacibdir, məsələn, müxtəlif brauzerlər və ya platformalar ilə işləyərkən.
Avtomatlaşdırma kontekstində istifadə nümunəsi:
Tutaq ki, WebDriverFactory interfeysi və onun müxtəlif brauzerlər üçün tətbiqləri (ChromeWebDriverFactory, FirefoxWebDriverFactory) var. Fabrika üsulu, test kodunda şərti ifadələr (if/else) istifadə etmədən lazım olan sürücünün nümunəsini almağa imkan verir.
// Fabrika interfeysi
interface WebDriverFactory {
WebDriver createDriver();
}
// Chrome üçün tətbiq
class ChromeWebDriverFactory implements WebDriverFactory {
@Override
public WebDriver createDriver() {
WebDriverManager.chromedriver().setup();
return new ChromeDriver();
}
}
// Firefox üçün tətbiq
class FirefoxWebDriverFactory implements WebDriverFactory {
@Override
public WebDriver createDriver() {
WebDriverManager.firefoxdriver().setup();
return new FirefoxDriver();
}
}
// Fabrikadan istifadə testdə
public class BaseTest {
protected WebDriver driver;
@BeforeMethod
public void setupTest() {
WebDriverFactory factory = getWebDriverFactory("chrome"); // Lazımi fabrikanı əldə et (tətbiq fərqli ola bilər)
driver = factory.createDriver(); // Fabrika vasitəsilə sürücünü yarat
driver.manage().window().maximize();
}
private WebDriverFactory getWebDriverFactory(String browser) {
if ("chrome".equalsIgnoreCase(browser)) {
return new ChromeWebDriverFactory();
} else if ("firefox".equalsIgnoreCase(browser)) {
return new FirefoxWebDriverFactory();
}
throw new IllegalArgumentException("Dəstəklənməyən brauzer: " + browser);
}
@AfterMethod
public void tearDownTest() {
if (driver != null) {
driver.quit();
}
}
}
Üstünlüklər:
- Aşağı bağlılıq: Müştəri kodu yalnız fabrik interfeysinə bağlıdır, konkret tətbiqlərə yox.
- Genişləndirmə: Yeni brauzer dəstəyi əlavə etmək asandır; yeni fabrika yaradıb
getWebDriverFactorymetodunu dəyişmək kifayətdir. - İzolasiya: Obrazların yaradılması loqikası tək bir yerdə (fabrika) cəmlənmişdir, bu da baxımı asanlaşdırır.