Требуется ли для PageObject тег @DefaultUrl, несмотря на использование метода setDefaultBaseUrl в конструкторе? - PullRequest
0 голосов
/ 09 января 2019

Я пытаюсь создать абстрактный PageObject, чтобы я мог динамически назначать URL-адрес по умолчанию, чтобы код можно было использовать на всех этапах разработки.

    package com.company.serenity.product.common.ui;

    import org.openqa.selenium.WebDriver;

    import com.google.common.base.Predicate;

    import net.serenitybdd.core.pages.PageObject;
    import net.thucydides.core.util.EnvironmentVariables;

    abstract public class AbstractPageObject extends PageObject {

      protected AbstractPageObject() {
        super();
        super.setDefaultBaseUrl(getDefaultBaseUrl());
        init();
      }

      protected AbstractPageObject(final WebDriver driver, Predicate<? super PageObject> callback) {
        super(driver, callback);
        this.setDefaultBaseUrl(getDefaultBaseUrl());
        init();
      }

      public AbstractPageObject(final WebDriver driver, final int ajaxTimeout) {
        super(driver, ajaxTimeout);
        this.setDefaultBaseUrl(getDefaultBaseUrl());
        init();
      }

      public AbstractPageObject(final WebDriver driver) {
        super(driver);
        this.setDefaultBaseUrl(getDefaultBaseUrl());
        init();
      }

      public AbstractPageObject(final WebDriver driver,
          final EnvironmentVariables environmentVariables) {
        super(driver, environmentVariables);
        this.setDefaultBaseUrl(getDefaultBaseUrl());
        init();
      }

      // return the default url (from final static property)
      abstract protected String getDefaultBaseUrl();

      // any other initiation stuff that should happen with the constructor
      abstract protected void init();

    }

Я сейчас использую: serenity.version: 2.0.29 serenity.maven.version: 2.0.29

Результат:

TEST FAILED: Should be able to login
--------------------------------------------------------------------------
[main] ERROR net.thucydides.core.steps.ConsoleLoggingListener - TEST FAILED AT STEP Administrator opens the Sudo site
[main] ERROR net.thucydides.core.steps.ConsoleLoggingListener - Undefined default URL for page object AbstractPageObject

Большое спасибо заранее. Цените драгоценное время каждого.

...