페이지 개체 모델 – Selenide 자습서 시리즈
설정 페이지 클래스
먼저 모든 페이지 로케이터와 페이지 메서드를 저장할 수 있는 페이지 클래스를 설정해야 합니다.
public class HomePage {
// add locators and methods here
}
설정 페이지 로케이터
기본 페이지 클래스가 설정되면 페이지 로케이터를 클래스에 추가할 수 있습니다.
public class HomePage {
    public SelenideElement getStartedBtn() {
        return $(By.id("get-started"));
    }
    public SelenideElement headingTitle() {
        return $("h1");
    }
    public SelenideElement logoLink() {
        return $(By.xpath("//a[@class=\"custom-logo-link\"]"));
    }
    public ElementsCollection linksList() {
        return $$("#primary-menu li[id*=menu-item]");
    }
}
참고: 자동 가져오기가 작동하지 않으면 Selenide에서 필요한 모든 패키지를 가져와야 합니다.
설정 페이지 방법
이제 페이지 로케이터를 설정했으므로 코드 중복을 줄이기 위해 필요한 페이지 메서드를 추가할 수 있습니다.
    public HomePage open() {
        Selenide.open("https://practice.automationbro.com/");
        return this;
    }
    public void assertUrl(String expectedUrl) {
        String url = WebDriverRunner.url();
        assertEquals(url, expectedUrl);
    }
POM을 사용하도록 테스트 업데이트
테스트 파일에서 HomePage 클래스를 초기화한 다음 로케이터를 교체하고 페이지 로케이터와 페이지 메서드를 추가해야 합니다. 예를 들면 다음과 같습니다.
    @Test
    public void testInteractingWithElements() {
        // Open page url
        home
            .open()
            .assertUrl("https://practice.automationbro.com/");
        // By ID
        home.getStartedBtn().click();
        // verify heading by CssSelector
        home.headingTitle()
            .shouldHave(text("Think different. Make different."));
        // verify by XPath
        home.logoLink()
            .should(be(visible));
    }
위에서 본 것처럼 몇 단계만 거치면 Selenide에서 페이지 개체 모델 개념을 구현할 수 있습니다. 자세한 내용은 아래 동영상을 확인하세요.
👩🏻💻 오늘 SDET-U 아카데미에 가입하여 SDET 여정을 시작할 시간입니다 👇🏻
Join Academy
📧 mymailing list를 구독하여 이와 같은 더 많은 콘텐츠에 액세스하고 놀라운 무료 경품 행사에 참여하세요.
👍 여기에서도 내 콘텐츠를 팔로우할 수 있습니다.
...
읽어 주셔서 감사합니다!
Reference
이 문제에 관하여(페이지 개체 모델 – Selenide 자습서 시리즈), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/automationbro/page-object-model-selenide-tutorial-series-g3g텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)