Вызов экземпляра PageObject что-то делает - PullRequest
0 голосов
/ 09 ноября 2018

Итак, у меня есть объект страницы, который обрабатывает все основные функции страницы, на которой находится пользователь. Я хочу сделать это так, когда экземпляр объекта страницы называется что-то происходит. В текущей ситуации у меня есть:

public MyPageObject MY_SCREEN = new MyPageObject(this);

и когда я звоню MY_SCREEN.fillMyScreenFields(); Я хочу, чтобы MY_SCREEN перешел к этому экрану без использования функции навигации в fillMyScreenFields()

.

1 Ответ

0 голосов
/ 11 ноября 2018

Я все еще не уверен, что вы ищете и как вы получаете SO исключение, но вот ваши варианты:

public class HomePage {

    Webdriver driver; // inject an instance using a DI framework

    // option 1: uses the above instance, created by DI or just plain 'new' keyword
    public HomePage(){
        driver.get("https://yourpage.com/");
    }

    // option 2: pass in the driver in your tests
    public HomePage(WebDriver driver){
        driver.get("https://yourpage.com/");
    }

    // option 3: best one, I'd advise against the above two options, 
    // there will come a situation when you want to init a page object, 
    // but you don't want to navigate to it
    public void openPage(){
        driver.get("https://yourpage.com/");
    }
}

Вот репо с простым примером шаблона Page Object

Вот еще один репо с более сложным примером шаблона Page Object, в котором используется свободный интерфейс

(Отказ от ответственности: оба мои)

...