페이지 개체 모델 – 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.)