Настройте базовую страницу селена и фабрику веб-драйверов для устройств kobition - PullRequest
0 голосов
/ 19 сентября 2019

У меня довольно сложная работа с базовыми страницами селена.В настоящее время у меня есть структура, когда страницы моего сайта, на которых размещены методы, функции и элементы, расширяют базовую страницу:

public abstract class BasePage {
protected static final int WAIT_FOR_PAGE_LOAD_IN_SECONDS = 5;
/**
 * In subclasses  should be used for page opening
 */
protected abstract void openPage();

/**
 * checks is page opened
 * @return true if opened
 */
public abstract boolean isPageOpened();

public BasePage(boolean openPageByUrl){
    if(openPageByUrl){
        openPage();
    }
    PageFactory.initElements(getDriver(), this);
    waitForOpen();
}

/**
 * Waiting for page opening
 */
protected void waitForOpen(){
    int secondsCount = 0;
    boolean isPageOpenedIndicator = isPageOpened();
    while (!isPageOpenedIndicator && secondsCount < WAIT_FOR_PAGE_LOAD_IN_SECONDS) {
        TimeUtils.waitForSeconds(1);
        secondsCount++;
        isPageOpenedIndicator = isPageOpened();
    }
    if(!isPageOpenedIndicator) {
        throw new AssertionError("Page was not opened");
    }
}

/**
 * getting webdriver instance
 * @return initialized in tests webdriver instance
 */
protected org.openqa.selenium.WebDriver getDriver(){
    return Drivers.getDriver();
}

}

, а все мои тестовые страницы расширяют фабрику страниц

открытый класс ConditionWebDriverFactory {

@BeforeClass
public void beforeTest() {
    Drivers.startBrowser(true);
    Drivers.getDriver().manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
    Drivers.getDriver().manage().window().maximize();


}

@AfterClass (alwaysRun = true)
public void afterTest() {
    Drivers.finishBrowser();

}
}

Проблема, с которой я сталкиваюсь, заключается в том, что все они открывают хроматический драйвер, поэтому все эти тесты в основном становятся устаревшими, когда я использую возможности из kobition, есть ли способ, который я мог бы даже создатьбазовую страницу и драйвер для мобильного эмулятора, так что мне не нужно постоянно указывать capabiltites в каждом тесте?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...