Sobes.tech
Middle+

თქვენი აზრით, რა არის ყველაზე მნიშვნელოვანი მოდელი ტესტების ავტომატიზაციაში Page Object-ის გამოყენების შემდეგ?

sobes.tech AI

პასუხი AI-სგან

Ես կարծում եմ, որ ամենակարևոր ձևանմուշը Page Object-ից հետո Factory Method է:

Այն օգնում է ստեղծել Page Object-ների օբյեկտները դինամիկ, կախված թեստի կատարման կոնտեքստից (օրինակ՝ սարքի կամ բրաուզերի տեսակից): Սա դարձնում է ավտոմատ թեստերը ավելի ճկուն, ընդարձակելի և հեշտ պահպանվող, հատկապես տարբեր հարթակներում և միջավայրերում թեստավորելու ժամանակ:

Ահա ինչպես դա կարելի է իրականացնել ընդհանուր գծերով:

// Էջերի գործարանին համար ինտերֆեյս
interface IPageFactory {
    HomePage createHomePage();
    LoginPage createLoginPage();
}

// Դեսկտոպային տարբերակի գործարանի իրականացում
class DesktopPageFactory implements IPageFactory {
    @Override
    public HomePage createHomePage() {
        return new DesktopHomePage(); // Վերադարձնում է դեսկտոպային Home Page
    }

    @Override
    public LoginPage createLoginPage() {
        return new DesktopLoginPage(); // Վերադարձնում է դեսկտոպային Login Page
    }
}

// Մոբայլ տարբերակի գործարանի իրականացում
class MobilePageFactory implements IPageFactory {
    @Override
    public HomePage createHomePage() {
        return new MobileHomePage(); // Վերադարձնում է մոբայլային Home Page
    }

    @Override
    public LoginPage createLoginPage() {
        return new MobileLoginPage(); // Վերադարձնում է մոբայլային Login Page
    }
}

// Թեստում ընտրում ենք գործարանին միջավայրի վրա հիմնված
// ...
if (environment == "desktop") {
    pageFactory = new DesktopPageFactory();
} else if (environment == "mobile") {
    pageFactory = new MobilePageFactory();
}

// Օգտագործում ենք գործարանին անհրաժեշտ էջերը ստանալու համար
// HomePage homePage = pageFactory.createHomePage();
// LoginPage loginPage = pageFactory.createLoginPage();
// ...

Աфզալियतներ՝

  • Ճկունություն: Լավ է փոխել տարբեր իրականացումները առանց թեստերի կոդը փոխելու:
  • Ընդարձակելիություն: Լավ է ավելացնել նոր հարթակներ կամ էջերի տարբերակներ:
  • Կրճատում է կոդի կրկնությունը: Օբյեկտների ստեղծման տրամաբանությունը թաքնված է գործարանում:
  • Պատասխանատվության բաժանում: Գործարանը պատասխանատու է միայն օբյեկտների ստեղծման համար, իսկ թեստերը՝ դրանց օգտագործման համար:

Իհարկե, ձևանմուշի ընտրությունը կախված է կոնկրետ նախագծից և նրա չափից, բայց Factory Method-ը հաճախ դառնում է անփոխարինելի՝ ընդարձակ և պահպանվող ավտոմատացման ենթակառուցվածք կառուցելիս: