Мне нужно протестировать веб-страницу, поэтому мы создаем страницы с помощью класса enum. В первом классе enum у нас есть Pages, а во втором enum мы сохранили тип страниц, таких как "uk", "canada", потому что разным типам страниц нужно создавать разные страницы
Я пытаюсь найти решение из этихtopic Могу ли я использовать шаблон построителя на Java Enum
public class HomePage extends BasePage {
public String url = "/ccrz__HomePage";
public Storefront storefront;
@FindBy(how = How.XPATH, using = "//div[contains(@class, 'cc_tmpl_HomePage')]")
private WebElement mainContainer;
public HomePage(Storefront storefront) {
super(storefront);
super.setUrl(this.url);
}
@Override
public boolean validatePage() {
return isDisplayed(mainContainer);
}
public enum Pages {
HOMEPAGE(new HomePage()),
ORDER_HISTORY_PAGE(new MyAccountOrderHistoryPage()),
MY_ACCOUNT_PAGE(new MyAccountPage()),
private final BasePage page;
private final Storefront storefront;
Pages(BasePage page, Storefront storefront) {
this.page = page;
this.storefront = storefront;
}
public BasePage get() {
return this.page;
}
Задница, в которой вы видите ошибку, возникающую в классе enum, потому что, например, для 'new HomePage ()' нужен параметр Storefront, а я -понятия не имею, как ее решить ...