При работе с PageObject и PageFactory не инициализируется страница


(Andrey Bzhestovskyy) #1

Проблема в том, что моя страницы при запуске теста не инициализируется (PageObject1 =null) , подскажите, из-за чего это может происходить?

Структура проекта:
класс PageObject1 extends Page
public PageObject1(ApplicationManager manager){
this.manager = manager;
}
@FindBy(how = How.CSS, using = “#login”)
private WebElement loginInput;

public void makeSometging(){}

класс Page
//тут подключены выбдрайверы, логеры, ожидалки…
//конструктор по идее должен инициализировать элементы страниц
public Page(WebDriver driver) {
this.driver = driver;
PageFactory.initElements(driver, this);
}

класс ApplicationManager
//это связующее звено всех моих Пейджобджектов.
//синглтон
public static ApplicationManager getInstanse(){
if(instance==null){
instance = new ApplicationManager();
}return instance;}

public PageObject1 getPageObject1{
    if( getPageObject1== null){
         getPageObject1= new  getPageObject1(this);
    } return  getPageObject1;}

класс Base
//В этом классе выполняются нужные мне прекондишены для тестовых классов
public ApplicationManager manager;

@BeforeSuite
public void preconditions(){
manager = ApplicationManager.getInstanse();
System.setProperty(“webdriver.chrome.driver”, “E://Selenium_Drivers/chromedriver.exe”);
driver = new ChromeDriver();
manager.getPageObject1.makeSometging(); (При дебаге вызов getPageObject1 не создает страницу)

}

//тестовый класс
TestClass extends Base


(Sergey Korol) #2

Шансы получить ответ значительно увеличатся после прочтения FAQ (раздел о форматировании кода). :wink:


(Oleksii Ihnatiuk) #3

Может кому-то поможет майнд карта, потому что сообщение автора абсолютно нечитабельно