CucumberException: Failed to instantiate class stepDefinitions при запуске тестов

227
01 марта 2021, 23:40

Прошу помочь разобраться. Ошибка где-то в инициализации страницы, если я верно понимаю. вот код:

public class AuthStepDefinitions {
private final AuthPage authPage = new AuthPage();
@When("^user on Auth Page$")
public void onAuthPage() {
    AuthPage.getStartPage();
}

etc.

public class AuthPage extends TestBase {
private String loginPassrod = "test@test.test";
@FindBy(id = "USER_LOGIN")
private WebElement loginInput;
@FindBy(id = "USER_PASSWORD")
private WebElement userPassword;
@FindBy(className = "btn")
private WebElement btnEntrance;
@FindBy(css = "table.dataTable")
private WebElement table;
@FindBy(css = "a.button-new")
private WebElement create;
@FindBy(className = "sidebar-profile")
private WebElement profile;
public AuthPage() {
    PageFactory.initElements(new HtmlElementDecorator(new HtmlElementLocatorFactory(driver)), this);
}

etc.

public abstract class TestBase {
/**
 * Default timeout for waiting
 */
private static final int ELEMENT_TIMEOUT_SECONDS = 20;
protected static WebDriver driver;
JavascriptExecutor js = (JavascriptExecutor) driver;
public void setup() {
    System.setProperty("webdriver.chrome.driver", BaseProperties.driverDir );
    driver = new ChromeDriver();
    driver.manage().window().maximize();
}
protected static void onMainPage() {
    driver.get("хxx");
}

etc.

Если я верно понимаю то ошибка начинается где-то здесь private final AuthPage authPage = new AuthPage(); PageFactory.initElements(new HtmlElementDecorator(new HtmlElementLocatorFactory(driver)), this); }

Что делать не понимаю.

Еще немного информации которая может помочь - может что-то не так указал в runner

Answer 1

Инициализировал страницу следующим образом в классе страницы:

public AuthPage() {
        super.setup();
        PageFactory.initElements(driver, this);
    }

К методу setup() добавил аннотацию @Before

Обновил полностью все зависимости в pom.xml Проблема т.о. решилась

READ ALSO
Перебор двойного массива

Перебор двойного массива

Задан двойной массив в котором по рандомно появляется единицаНеобходимо изменить на единицу все значения справа от единицы за один раз можно...

118
Локализация пакетов

Локализация пакетов

Есть три класса A, B, CКаждый класс лежит в своем Maven модуле

107
Jackson. Сериализация объектов

Jackson. Сериализация объектов

Я хочу сериализовать объект в json строку

110
Spring и thymeleaf

Spring и thymeleaf

Хочу вывести значения базы данных на страницу ввиде таблицы id, name, email, не получаетсяКто знает, скажите как сделать правильно, потому что выдает...

101